@gooddollar/goodprotocol 2.0.9 → 2.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/artifacts/abis/BuyGDClone.min.json +1 -1
  2. package/artifacts/abis/BuyGDCloneFactory.min.json +1 -1
  3. package/artifacts/abis/FuseStakingV3.min.json +1 -1
  4. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  5. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  6. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  7. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  8. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  9. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  10. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  11. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  12. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  13. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  14. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  33. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
  34. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  35. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
  36. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  37. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  38. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  39. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  40. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
  41. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
  42. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  43. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  44. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  45. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  46. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  47. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
  48. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
  49. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  50. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
  51. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  52. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  53. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  54. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  55. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  56. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  57. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  58. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  59. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  60. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  61. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  62. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
  63. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  64. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  65. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  66. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  67. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
  68. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  69. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  70. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  71. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  72. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  73. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  74. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  75. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  77. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  83. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  85. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  87. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  90. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  91. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  92. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  93. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  94. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  95. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  96. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  97. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  98. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  99. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  100. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  101. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +66 -2
  102. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  103. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  104. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  105. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  106. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  107. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  108. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  109. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  110. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  111. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  112. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  113. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  114. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  115. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  116. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
  117. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
  118. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
  119. package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.dbg.json +1 -1
  120. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
  121. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
  122. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
  123. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
  124. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
  125. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
  126. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
  127. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
  128. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
  129. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
  130. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
  131. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
  132. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  133. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
  134. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  135. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
  136. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  137. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  138. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
  139. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
  140. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.json +27 -2
  141. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
  142. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.json +52 -2
  143. package/artifacts/contracts/utils/BuyGDClone.sol/ISwapRouter.dbg.json +1 -1
  144. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  145. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  146. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  147. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  148. package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
  149. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  150. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  151. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  152. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  153. package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
  154. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  155. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  156. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  157. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
  158. package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
  159. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  160. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  161. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  162. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  163. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  164. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  165. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  166. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  167. package/contracts/staking/FuseStakingV3.sol +79 -67
  168. package/contracts/utils/BuyGDClone.sol +59 -58
  169. package/package.json +3 -1
  170. package/releases/deployment.json +3 -1
  171. package/types/BuyGDClone.ts +42 -12
  172. package/types/BuyGDCloneFactory.ts +68 -0
  173. package/types/FuseStakingV3.ts +111 -0
  174. package/types/IStaticOracle.ts +507 -0
  175. package/types/IUniswapV3Factory.ts +333 -0
  176. package/types/factories/BuyGDCloneFactory__factory.ts +51 -1
  177. package/types/factories/BuyGDClone__factory.ts +26 -1
  178. package/types/factories/FuseStakingV3__factory.ts +65 -1
  179. package/types/factories/IStaticOracle__factory.ts +316 -0
  180. package/types/factories/IUniswapV3Factory__factory.ts +222 -0
  181. package/types/hardhat.d.ts +18 -9
  182. package/types/index.ts +4 -2
  183. package/yarn.lock +116 -2
  184. package/artifacts/abis/IStaticOracle.min.json +0 -1
  185. package/artifacts/contracts/utils/BuyGDClone.sol/IStaticOracle.dbg.json +0 -4
  186. package/artifacts/contracts/utils/BuyGDClone.sol/IStaticOracle.json +0 -79
@@ -0,0 +1,333 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import {
6
+ ethers,
7
+ EventFilter,
8
+ Signer,
9
+ BigNumber,
10
+ BigNumberish,
11
+ PopulatedTransaction,
12
+ BaseContract,
13
+ ContractTransaction,
14
+ Overrides,
15
+ CallOverrides,
16
+ } from "ethers";
17
+ import { BytesLike } from "@ethersproject/bytes";
18
+ import { Listener, Provider } from "@ethersproject/providers";
19
+ import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
20
+ import type {
21
+ TypedEventFilter,
22
+ TypedEvent,
23
+ TypedListener,
24
+ OnEvent,
25
+ } from "./common";
26
+
27
+ export interface IUniswapV3FactoryInterface extends ethers.utils.Interface {
28
+ functions: {
29
+ "createPool(address,address,uint24)": FunctionFragment;
30
+ "enableFeeAmount(uint24,int24)": FunctionFragment;
31
+ "feeAmountTickSpacing(uint24)": FunctionFragment;
32
+ "getPool(address,address,uint24)": FunctionFragment;
33
+ "owner()": FunctionFragment;
34
+ "setOwner(address)": FunctionFragment;
35
+ };
36
+
37
+ encodeFunctionData(
38
+ functionFragment: "createPool",
39
+ values: [string, string, BigNumberish]
40
+ ): string;
41
+ encodeFunctionData(
42
+ functionFragment: "enableFeeAmount",
43
+ values: [BigNumberish, BigNumberish]
44
+ ): string;
45
+ encodeFunctionData(
46
+ functionFragment: "feeAmountTickSpacing",
47
+ values: [BigNumberish]
48
+ ): string;
49
+ encodeFunctionData(
50
+ functionFragment: "getPool",
51
+ values: [string, string, BigNumberish]
52
+ ): string;
53
+ encodeFunctionData(functionFragment: "owner", values?: undefined): string;
54
+ encodeFunctionData(functionFragment: "setOwner", values: [string]): string;
55
+
56
+ decodeFunctionResult(functionFragment: "createPool", data: BytesLike): Result;
57
+ decodeFunctionResult(
58
+ functionFragment: "enableFeeAmount",
59
+ data: BytesLike
60
+ ): Result;
61
+ decodeFunctionResult(
62
+ functionFragment: "feeAmountTickSpacing",
63
+ data: BytesLike
64
+ ): Result;
65
+ decodeFunctionResult(functionFragment: "getPool", data: BytesLike): Result;
66
+ decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
67
+ decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result;
68
+
69
+ events: {
70
+ "FeeAmountEnabled(uint24,int24)": EventFragment;
71
+ "OwnerChanged(address,address)": EventFragment;
72
+ "PoolCreated(address,address,uint24,int24,address)": EventFragment;
73
+ };
74
+
75
+ getEvent(nameOrSignatureOrTopic: "FeeAmountEnabled"): EventFragment;
76
+ getEvent(nameOrSignatureOrTopic: "OwnerChanged"): EventFragment;
77
+ getEvent(nameOrSignatureOrTopic: "PoolCreated"): EventFragment;
78
+ }
79
+
80
+ export type FeeAmountEnabledEvent = TypedEvent<
81
+ [number, number],
82
+ { fee: number; tickSpacing: number }
83
+ >;
84
+
85
+ export type FeeAmountEnabledEventFilter =
86
+ TypedEventFilter<FeeAmountEnabledEvent>;
87
+
88
+ export type OwnerChangedEvent = TypedEvent<
89
+ [string, string],
90
+ { oldOwner: string; newOwner: string }
91
+ >;
92
+
93
+ export type OwnerChangedEventFilter = TypedEventFilter<OwnerChangedEvent>;
94
+
95
+ export type PoolCreatedEvent = TypedEvent<
96
+ [string, string, number, number, string],
97
+ {
98
+ token0: string;
99
+ token1: string;
100
+ fee: number;
101
+ tickSpacing: number;
102
+ pool: string;
103
+ }
104
+ >;
105
+
106
+ export type PoolCreatedEventFilter = TypedEventFilter<PoolCreatedEvent>;
107
+
108
+ export interface IUniswapV3Factory extends BaseContract {
109
+ connect(signerOrProvider: Signer | Provider | string): this;
110
+ attach(addressOrName: string): this;
111
+ deployed(): Promise<this>;
112
+
113
+ interface: IUniswapV3FactoryInterface;
114
+
115
+ queryFilter<TEvent extends TypedEvent>(
116
+ event: TypedEventFilter<TEvent>,
117
+ fromBlockOrBlockhash?: string | number | undefined,
118
+ toBlock?: string | number | undefined
119
+ ): Promise<Array<TEvent>>;
120
+
121
+ listeners<TEvent extends TypedEvent>(
122
+ eventFilter?: TypedEventFilter<TEvent>
123
+ ): Array<TypedListener<TEvent>>;
124
+ listeners(eventName?: string): Array<Listener>;
125
+ removeAllListeners<TEvent extends TypedEvent>(
126
+ eventFilter: TypedEventFilter<TEvent>
127
+ ): this;
128
+ removeAllListeners(eventName?: string): this;
129
+ off: OnEvent<this>;
130
+ on: OnEvent<this>;
131
+ once: OnEvent<this>;
132
+ removeListener: OnEvent<this>;
133
+
134
+ functions: {
135
+ createPool(
136
+ tokenA: string,
137
+ tokenB: string,
138
+ fee: BigNumberish,
139
+ overrides?: Overrides & { from?: string | Promise<string> }
140
+ ): Promise<ContractTransaction>;
141
+
142
+ enableFeeAmount(
143
+ fee: BigNumberish,
144
+ tickSpacing: BigNumberish,
145
+ overrides?: Overrides & { from?: string | Promise<string> }
146
+ ): Promise<ContractTransaction>;
147
+
148
+ feeAmountTickSpacing(
149
+ fee: BigNumberish,
150
+ overrides?: CallOverrides
151
+ ): Promise<[number]>;
152
+
153
+ getPool(
154
+ tokenA: string,
155
+ tokenB: string,
156
+ fee: BigNumberish,
157
+ overrides?: CallOverrides
158
+ ): Promise<[string] & { pool: string }>;
159
+
160
+ owner(overrides?: CallOverrides): Promise<[string]>;
161
+
162
+ setOwner(
163
+ _owner: string,
164
+ overrides?: Overrides & { from?: string | Promise<string> }
165
+ ): Promise<ContractTransaction>;
166
+ };
167
+
168
+ createPool(
169
+ tokenA: string,
170
+ tokenB: string,
171
+ fee: BigNumberish,
172
+ overrides?: Overrides & { from?: string | Promise<string> }
173
+ ): Promise<ContractTransaction>;
174
+
175
+ enableFeeAmount(
176
+ fee: BigNumberish,
177
+ tickSpacing: BigNumberish,
178
+ overrides?: Overrides & { from?: string | Promise<string> }
179
+ ): Promise<ContractTransaction>;
180
+
181
+ feeAmountTickSpacing(
182
+ fee: BigNumberish,
183
+ overrides?: CallOverrides
184
+ ): Promise<number>;
185
+
186
+ getPool(
187
+ tokenA: string,
188
+ tokenB: string,
189
+ fee: BigNumberish,
190
+ overrides?: CallOverrides
191
+ ): Promise<string>;
192
+
193
+ owner(overrides?: CallOverrides): Promise<string>;
194
+
195
+ setOwner(
196
+ _owner: string,
197
+ overrides?: Overrides & { from?: string | Promise<string> }
198
+ ): Promise<ContractTransaction>;
199
+
200
+ callStatic: {
201
+ createPool(
202
+ tokenA: string,
203
+ tokenB: string,
204
+ fee: BigNumberish,
205
+ overrides?: CallOverrides
206
+ ): Promise<string>;
207
+
208
+ enableFeeAmount(
209
+ fee: BigNumberish,
210
+ tickSpacing: BigNumberish,
211
+ overrides?: CallOverrides
212
+ ): Promise<void>;
213
+
214
+ feeAmountTickSpacing(
215
+ fee: BigNumberish,
216
+ overrides?: CallOverrides
217
+ ): Promise<number>;
218
+
219
+ getPool(
220
+ tokenA: string,
221
+ tokenB: string,
222
+ fee: BigNumberish,
223
+ overrides?: CallOverrides
224
+ ): Promise<string>;
225
+
226
+ owner(overrides?: CallOverrides): Promise<string>;
227
+
228
+ setOwner(_owner: string, overrides?: CallOverrides): Promise<void>;
229
+ };
230
+
231
+ filters: {
232
+ "FeeAmountEnabled(uint24,int24)"(
233
+ fee?: BigNumberish | null,
234
+ tickSpacing?: BigNumberish | null
235
+ ): FeeAmountEnabledEventFilter;
236
+ FeeAmountEnabled(
237
+ fee?: BigNumberish | null,
238
+ tickSpacing?: BigNumberish | null
239
+ ): FeeAmountEnabledEventFilter;
240
+
241
+ "OwnerChanged(address,address)"(
242
+ oldOwner?: string | null,
243
+ newOwner?: string | null
244
+ ): OwnerChangedEventFilter;
245
+ OwnerChanged(
246
+ oldOwner?: string | null,
247
+ newOwner?: string | null
248
+ ): OwnerChangedEventFilter;
249
+
250
+ "PoolCreated(address,address,uint24,int24,address)"(
251
+ token0?: string | null,
252
+ token1?: string | null,
253
+ fee?: BigNumberish | null,
254
+ tickSpacing?: null,
255
+ pool?: null
256
+ ): PoolCreatedEventFilter;
257
+ PoolCreated(
258
+ token0?: string | null,
259
+ token1?: string | null,
260
+ fee?: BigNumberish | null,
261
+ tickSpacing?: null,
262
+ pool?: null
263
+ ): PoolCreatedEventFilter;
264
+ };
265
+
266
+ estimateGas: {
267
+ createPool(
268
+ tokenA: string,
269
+ tokenB: string,
270
+ fee: BigNumberish,
271
+ overrides?: Overrides & { from?: string | Promise<string> }
272
+ ): Promise<BigNumber>;
273
+
274
+ enableFeeAmount(
275
+ fee: BigNumberish,
276
+ tickSpacing: BigNumberish,
277
+ overrides?: Overrides & { from?: string | Promise<string> }
278
+ ): Promise<BigNumber>;
279
+
280
+ feeAmountTickSpacing(
281
+ fee: BigNumberish,
282
+ overrides?: CallOverrides
283
+ ): Promise<BigNumber>;
284
+
285
+ getPool(
286
+ tokenA: string,
287
+ tokenB: string,
288
+ fee: BigNumberish,
289
+ overrides?: CallOverrides
290
+ ): Promise<BigNumber>;
291
+
292
+ owner(overrides?: CallOverrides): Promise<BigNumber>;
293
+
294
+ setOwner(
295
+ _owner: string,
296
+ overrides?: Overrides & { from?: string | Promise<string> }
297
+ ): Promise<BigNumber>;
298
+ };
299
+
300
+ populateTransaction: {
301
+ createPool(
302
+ tokenA: string,
303
+ tokenB: string,
304
+ fee: BigNumberish,
305
+ overrides?: Overrides & { from?: string | Promise<string> }
306
+ ): Promise<PopulatedTransaction>;
307
+
308
+ enableFeeAmount(
309
+ fee: BigNumberish,
310
+ tickSpacing: BigNumberish,
311
+ overrides?: Overrides & { from?: string | Promise<string> }
312
+ ): Promise<PopulatedTransaction>;
313
+
314
+ feeAmountTickSpacing(
315
+ fee: BigNumberish,
316
+ overrides?: CallOverrides
317
+ ): Promise<PopulatedTransaction>;
318
+
319
+ getPool(
320
+ tokenA: string,
321
+ tokenB: string,
322
+ fee: BigNumberish,
323
+ overrides?: CallOverrides
324
+ ): Promise<PopulatedTransaction>;
325
+
326
+ owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
327
+
328
+ setOwner(
329
+ _owner: string,
330
+ overrides?: Overrides & { from?: string | Promise<string> }
331
+ ): Promise<PopulatedTransaction>;
332
+ };
333
+ }
@@ -55,6 +55,56 @@ const _abi = [
55
55
  stateMutability: "nonpayable",
56
56
  type: "function",
57
57
  },
58
+ {
59
+ inputs: [
60
+ {
61
+ internalType: "address",
62
+ name: "owner",
63
+ type: "address",
64
+ },
65
+ {
66
+ internalType: "uint256",
67
+ name: "minAmount",
68
+ type: "uint256",
69
+ },
70
+ ],
71
+ name: "createAndSwap",
72
+ outputs: [
73
+ {
74
+ internalType: "address",
75
+ name: "",
76
+ type: "address",
77
+ },
78
+ ],
79
+ stateMutability: "nonpayable",
80
+ type: "function",
81
+ },
82
+ {
83
+ inputs: [],
84
+ name: "getBaseFee",
85
+ outputs: [
86
+ {
87
+ internalType: "uint256",
88
+ name: "",
89
+ type: "uint256",
90
+ },
91
+ ],
92
+ stateMutability: "view",
93
+ type: "function",
94
+ },
95
+ {
96
+ inputs: [],
97
+ name: "impl",
98
+ outputs: [
99
+ {
100
+ internalType: "address",
101
+ name: "",
102
+ type: "address",
103
+ },
104
+ ],
105
+ stateMutability: "view",
106
+ type: "function",
107
+ },
58
108
  {
59
109
  inputs: [
60
110
  {
@@ -77,7 +127,7 @@ const _abi = [
77
127
  ];
78
128
 
79
129
  const _bytecode =
80
- "0x60a060405234801561001057600080fd5b5060405161185a38038061185a83398101604081905261002f916100bf565b8383838360405161003f9061009a565b6001600160a01b039485168152928416602084015290831660408301529091166060820152608001604051809103906000f080158015610083573d6000803e3d6000fd5b506001600160a01b03166080525061011e92505050565b6114208061043a83390190565b6001600160a01b03811681146100bc57600080fd5b50565b600080600080608085870312156100d557600080fd5b84516100e0816100a7565b60208601519094506100f1816100a7565b6040860151909350610102816100a7565b6060860151909250610113816100a7565b939692955090935050565b6080516102fb61013f6000396000818160c2015261015901526102fb6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063901b96e71461003b5780639ed9331814610064575b600080fd5b61004e610049366004610288565b610077565b60405161005b91906102b1565b60405180910390f35b61004e610072366004610288565b610126565b6000808260405160200161008b91906102b1565b60408051601f198184030181529082905280516020909101203060388301526f5af43d82803e903d91602b57fd5bf3ff60248301527f00000000000000000000000000000000000000000000000000000000000000006014830152733d602d80600a3d3981f3363d3d373d3d3d363d738252605882018190526037600c830120607883015260556043909201919091209091505b9392505050565b6000808260405160200161013a91906102b1565b604051602081830303815290604052805190602001209050600061017e7f0000000000000000000000000000000000000000000000000000000000000000836101e7565b60405163189acdbd60e31b81529091506001600160a01b0382169063c4d66de8906101ad9087906004016102b1565b600060405180830381600087803b1580156101c757600080fd5b505af11580156101db573d6000803e3d6000fd5b50929695505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166102825760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b604482015260640160405180910390fd5b92915050565b60006020828403121561029a57600080fd5b81356001600160a01b038116811461011f57600080fd5b6001600160a01b039190911681526020019056fea2646970667358221220cfa844f49b93c62e4584a4a5b444f64804aa59393ebf3ad00dcc897551aa2c7964736f6c634300081000336101206040523480156200001257600080fd5b506040516200142038038062001420833981016040819052620000359162000078565b6001600160a01b0393841660805291831660c052821660e052166101005261012c60a052620000e0565b6001600160a01b03811681146200007557600080fd5b50565b600080600080608085870312156200008f57600080fd5b84516200009c816200005f565b6020860151909450620000af816200005f565b6040860151909350620000c2816200005f565b6060860151909250620000d5816200005f565b939692955090935050565b60805160a05160c05160e0516101005161126f620001b1600039600081816101a60152818161049e015261057c015260008181610213015281816105cd015281816108860152610c7d015260008181610102015281816104cf015281816105ab015281816106ba0152818161074f0152818161079e0152818161084e015281816109ae01528181610a580152610c4501526000818161027a015281816104f101526105ef0152600081816102c3015281816107cb0152818161090601528181610b9a0152610cfd015261126f6000f3fe6080604052600436106100a65760003560e01c8063051ed8ef146100b25780630c577bdc146100f05780630cd865ec14610124578063130acf441461014657806377e9acd9146101745780637dc0d1d0146101945780638da5cb5b146101c857806394b918de146101ee578063a5e598fc14610201578063c3683d0a14610235578063c4d66de814610248578063f620732614610268578063f887ea40146102b157600080fd5b366100ad57005b600080fd5b3480156100be57600080fd5b506100da73471ece3750da237f93b8e339c536989b8978a43881565b6040516100e79190610f25565b60405180910390f35b3480156100fc57600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561013057600080fd5b5061014461013f366004610f4e565b6102e5565b005b34801561015257600080fd5b50610166610161366004610f72565b61045e565b6040519081526020016100e7565b34801561018057600080fd5b5061014461018f366004610fa2565b610681565b3480156101a057600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b3480156101d457600080fd5b506000546100da906201000090046001600160a01b031681565b6101446101fc366004610fa2565b610a31565b34801561020d57600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b610144610243366004610fa2565b610af8565b34801561025457600080fd5b50610144610263366004610f4e565b610dfa565b34801561027457600080fd5b5061029c7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100e7565b3480156102bd57600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166103775760008054604051620100009091046001600160a01b03169047908381818185875af1925050503d8060008114610345576040519150601f19603f3d011682016040523d82523d6000602084013e61034a565b606091505b50509050806103735760405163e2a1cc9160e01b81524760048201526024015b60405180910390fd5b5050565b6000546040516370a0823160e01b81526001600160a01b038084169263a9059cbb92620100009091049091169083906370a08231906103ba903090600401610f25565b602060405180830381865afa1580156103d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fb9190610fbb565b6040518363ffffffff1660e01b8152600401610418929190610fd4565b6020604051808303816000875af1158015610437573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103739190610fed565b50565b6000828173471ece3750da237f93b8e339c536989b8978a437196001600160a01b0385160161056557604051630757bc8160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630757bc819061051990859088907f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000009060040161100f565b600060405180830381865afa158015610536573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261055e919081019061106b565b5091508190505b604051630757bc8160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630757bc81906106179085907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000009060040161100f565b600060405180830381865afa158015610634573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065c919081019061106b565b509050606461066c82605f611153565b6106769190611172565b925050505b92915050565b600080546201000090046001600160a01b031633036106a15760006106ab565b67016345785d8a00005b6001600160401b0316905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016107049190610f25565b602060405180830381865afa158015610721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107459190610fbb565b90506000610773827f000000000000000000000000000000000000000000000000000000000000000061045e565b90508084116107825780610784565b835b60405163095ea7b360e01b81529094506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906107f5907f0000000000000000000000000000000000000000000000000000000000000000908690600401610fd4565b6020604051808303816000875af1158015610814573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108389190610fed565b50604080516080810182526001600160601b03197f0000000000000000000000000000000000000000000000000000000000000000606090811b821660a084015261027160ec1b60b48401527f0000000000000000000000000000000000000000000000000000000000000000901b1660b7820152815180820360ab01815260cb820183528152600080546201000090046001600160a01b031660208301529181016108e48686611194565b815260200186905260405163b858183f60e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b858183f9061093b9084906004016111a7565b6020604051808303816000875af115801561095a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097e9190610fbb565b506000546201000090046001600160a01b03163314610a2a5760405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906109e59033908890600401610fd4565b6020604051808303816000875af1158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190610fed565b505b5050505050565b478015610a415761037382610af8565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610a8d903090600401610f25565b602060405180830381865afa158015610aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ace9190610fbb565b90508015610adf5761037382610681565b60405163701b93d160e11b815260040160405180910390fd5b600080546201000090046001600160a01b03163314610b3157610b1f48633b9aca00611226565b610b2c9062061a80611153565b610b34565b60005b9050476000610b578273471ece3750da237f93b8e339c536989b8978a43861045e565b9050808411610b665780610b68565b835b60405163095ea7b360e01b815290945073471ece3750da237f93b8e339c536989b8978a4389063095ea7b390610bc4907f0000000000000000000000000000000000000000000000000000000000000000908690600401610fd4565b6020604051808303816000875af1158015610be3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c079190610fed565b50604080516080810182527308e3d9c6ea1b446ff2771c6738a6d313712f148760631b60a082015261017760eb1b60b48201526001600160601b03197f0000000000000000000000000000000000000000000000000000000000000000606090811b821660b784015261027160ec1b60cb8401527f0000000000000000000000000000000000000000000000000000000000000000901b1660ce820152815180820360c201815260e2820183528152600080546201000090046001600160a01b03166020830152918101610cdb8686611194565b815260200186905260405163b858183f60e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b858183f90610d329084906004016111a7565b6020604051808303816000875af1158015610d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d759190610fbb565b506000546201000090046001600160a01b03163314610a2a57604051600090339086908381818185875af1925050503d8060008114610dd0576040519150601f19603f3d011682016040523d82523d6000602084013e610dd5565b606091505b5050905080610a285760405163e2a1cc9160e01b81526004810186905260240161036a565b600054610100900460ff1615808015610e1a5750600054600160ff909116105b80610e345750303b158015610e34575060005460ff166001145b610e975760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161036a565b6000805460ff191660011790558015610eba576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015610373576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461045b57600080fd5b600060208284031215610f6057600080fd5b8135610f6b81610f39565b9392505050565b60008060408385031215610f8557600080fd5b823591506020830135610f9781610f39565b809150509250929050565b600060208284031215610fb457600080fd5b5035919050565b600060208284031215610fcd57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b600060208284031215610fff57600080fd5b81518015158114610f6b57600080fd5b6001600160801b039490941684526001600160a01b0392831660208501529116604083015263ffffffff16606082015260800190565b634e487b7160e01b600052604160045260246000fd5b805161106681610f39565b919050565b6000806040838503121561107e57600080fd5b8251602080850151919350906001600160401b038082111561109f57600080fd5b818601915086601f8301126110b357600080fd5b8151818111156110c5576110c5611045565b8060051b604051601f19603f830116810181811085821117156110ea576110ea611045565b60405291825284820192508381018501918983111561110857600080fd5b938501935b8285101561112d5761111e8561105b565b8452938501939285019261110d565b8096505050505050509250929050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561116d5761116d61113d565b500290565b60008261118f57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561067b5761067b61113d565b60006020808352835160808285015280518060a086015260005b818110156111dd5782810184015186820160c0015283016111c1565b50600060c08287010152918501516001600160a01b0381166040860152916040860151606086810191909152909501516080850152505050601f91909101601f19160160c00190565b8082018082111561067b5761067b61113d56fea2646970667358221220ba1dccba0e8d51fbfd40d3cf5d797df82a47de3edf9b7e2205bd7bb17f7eb92864736f6c63430008100033";
130
+ "0x60a060405234801561001057600080fd5b50604051611c8f380380611c8f83398101604081905261002f9161014a565b8383838360405161003f90610115565b6001600160a01b039485168152928416602084015290831660408301529091166060820152608001604051809103906000f080158015610083573d6000803e3d6000fd5b506001600160a01b03908116608052604051631c49cbb560e01b815283821660048201528482166024820152610258604482015290821690631c49cbb5906064016000604051808303816000875af11580156100e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261010b91908101906101bf565b5050505050610283565b6115278061076883390190565b6001600160a01b038116811461013757600080fd5b50565b805161014581610122565b919050565b6000806000806080858703121561016057600080fd5b845161016b81610122565b602086015190945061017c81610122565b604086015190935061018d81610122565b606086015190925061019e81610122565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156101d257600080fd5b82516001600160401b03808211156101e957600080fd5b818501915085601f8301126101fd57600080fd5b81518181111561020f5761020f6101a9565b8060051b604051601f19603f83011681018181108582111715610234576102346101a9565b60405291825284820192508381018501918883111561025257600080fd5b938501935b82851015610277576102688561013a565b84529385019392850192610257565b98975050505050505050565b6080516104b66102b26000396000818160940152818161010f0152818161024b01526102e201526104b66000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806315e812ad1461005c57806389643a291461006f5780638abf60771461008f578063901b96e7146100b65780639ed93318146100c9575b600080fd5b6040514881526020015b60405180910390f35b61008261007d366004610427565b6100dc565b6040516100669190610451565b6100827f000000000000000000000000000000000000000000000000000000000000000081565b6100826100c4366004610465565b610200565b6100826100d7366004610465565b6102af565b600080836040516020016100f09190610451565b60405160208183030381529060405280519060200120905060006101347f000000000000000000000000000000000000000000000000000000000000000083610370565b60405163189acdbd60e31b81529091506001600160a01b0382169063c4d66de890610163908890600401610451565b600060405180830381600087803b15801561017d57600080fd5b505af1158015610191573d6000803e3d6000fd5b5050604051631a730de160e31b8152600481018790523360248201526001600160a01b038416925063d3986f089150604401600060405180830381600087803b1580156101dd57600080fd5b505af11580156101f1573d6000803e3d6000fd5b50929450505050505b92915050565b600080826040516020016102149190610451565b60408051601f198184030181529082905280516020909101203060388301526f5af43d82803e903d91602b57fd5bf3ff60248301527f00000000000000000000000000000000000000000000000000000000000000006014830152733d602d80600a3d3981f3363d3d373d3d3d363d738252605882018190526037600c830120607883015260556043909201919091209091505b9392505050565b600080826040516020016102c39190610451565b60405160208183030381529060405280519060200120905060006103077f000000000000000000000000000000000000000000000000000000000000000083610370565b60405163189acdbd60e31b81529091506001600160a01b0382169063c4d66de890610336908790600401610451565b600060405180830381600087803b15801561035057600080fd5b505af1158015610364573d6000803e3d6000fd5b50929695505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166101fa5760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b604482015260640160405180910390fd5b80356001600160a01b038116811461042257600080fd5b919050565b6000806040838503121561043a57600080fd5b6104438361040b565b946020939093013593505050565b6001600160a01b0391909116815260200190565b60006020828403121561047757600080fd5b6102a88261040b56fea2646970667358221220049fe92e8ebdf5f205dfc9a0fca52b3179698db6693155a256c3829ef2765b3a64736f6c634300081000336101206040523480156200001257600080fd5b506040516200152738038062001527833981016040819052620000359162000078565b6001600160a01b0393841660805291831660c052821660e052166101005261012c60a052620000e0565b6001600160a01b03811681146200007557600080fd5b50565b600080600080608085870312156200008f57600080fd5b84516200009c816200005f565b6020860151909450620000af816200005f565b6040860151909350620000c2816200005f565b6060860151909250620000d5816200005f565b939692955090935050565b60805160a05160c05160e05161010051611368620001bf60003960008181610158015281816104a501528181610563015261067b0152600081816101e7015281816105b4015281816108b30152610c6d015260008181610102015281816104d601528181610592015281816106b20152818161087101528181610a7401528181610b1301528181610b8401528181610c2b01528181610d860152610f58015260008181610281015281816107670152610b340152600081816102ca015281816107cf0152818161092101528181610bb10152610cdb01526113686000f3fe6080604052600436106100a65760003560e01c8063051ed8ef146100b25780630c577bdc146100f05780630cd865ec146101245780637dc0d1d014610146578063821dc9101461017a5780638da5cb5b146101af578063a5e598fc146101d5578063aa6bfa9d14610209578063b1a5fa9f1461021c578063c4d66de81461023c578063d3986f081461025c578063f62073261461026f578063f887ea40146102b857600080fd5b366100ad57005b600080fd5b3480156100be57600080fd5b506100da73471ece3750da237f93b8e339c536989b8978a43881565b6040516100e79190610ff9565b60405180910390f35b3480156100fc57600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561013057600080fd5b5061014461013f366004611022565b6102ec565b005b34801561015257600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561018657600080fd5b5061019a610195366004611046565b610465565b604080519283526020830191909152016100e7565b3480156101bb57600080fd5b506000546100da906201000090046001600160a01b031681565b3480156101e157600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b610144610217366004611091565b610648565b34801561022857600080fd5b50610144610237366004611091565b610a36565b34801561024857600080fd5b50610144610257366004611022565b610e00565b61014461026a366004611091565b610f2b565b34801561027b57600080fd5b506102a37f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100e7565b3480156102c457600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03811661037e5760008054604051620100009091046001600160a01b03169047908381818185875af1925050503d806000811461034c576040519150601f19603f3d011682016040523d82523d6000602084013e610351565b606091505b505090508061037a5760405163e2a1cc9160e01b81524760048201526024015b60405180910390fd5b5050565b6000546040516370a0823160e01b81526001600160a01b038084169263a9059cbb92620100009091049091169083906370a08231906103c1903090600401610ff9565b602060405180830381865afa1580156103de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040291906110c1565b6040518363ffffffff1660e01b815260040161041f9291906110da565b6020604051808303816000875af115801561043e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037a91906110f3565b50565b6000808473471ece3750da237f93b8e339c536989b8978a437196001600160a01b0386160161054c57604051630757bc8160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630757bc819061050090849089907f0000000000000000000000000000000000000000000000000000000000000000908a90600401611115565b600060405180830381865afa15801561051d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105459190810190611171565b5091508190505b604051630757bc8160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630757bc81906105de9084907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908a90600401611115565b600060405180830381865afa1580156105fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106239190810190611171565b5091506064610633836062611259565b61063d9190611278565b925050935093915050565b600080546001600160a01b0383811662010000909204161461073c57604051630757bc8160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630757bc81906106f39067016345785d8a0000907f00000000000000000000000000000000000000000000000000000000000000009073471ece3750da237f93b8e339c536989b8978a43890603c90600401611115565b600060405180830381865afa158015610710573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107389190810190611171565b5090505b6000610748824761129a565b9050600061078b8273471ece3750da237f93b8e339c536989b8978a4387f0000000000000000000000000000000000000000000000000000000000000000610465565b50905080851161079b578061079d565b845b60405163095ea7b360e01b815290955073471ece3750da237f93b8e339c536989b8978a4389063095ea7b3906107f9907f00000000000000000000000000000000000000000000000000000000000000009086906004016110da565b6020604051808303816000875af1158015610818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083c91906110f3565b50604080516080810182527308e3d9c6ea1b446ff2771c6738a6d313712f148760631b60a082015261017760eb1b60b48201527f0000000000000000000000000000000000000000000000000000000000000000606090811b6001600160601b031990811660b784015261027160ec1b60cb8401527f0000000000000000000000000000000000000000000000000000000000000000821b1660ce830152825160c281840301815260e28301845282526000546201000090046001600160a01b039081166020840152828401869052908201889052915163b858183f60e01b815290917f0000000000000000000000000000000000000000000000000000000000000000169063b858183f906109569084906004016112b3565b6020604051808303816000875af1158015610975573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099991906110c1565b506000546001600160a01b03868116620100009092041614610a2e576000856001600160a01b03168560405160006040518083038185875af1925050503d8060008114610a02576040519150601f19603f3d011682016040523d82523d6000602084013e610a07565b606091505b5050905080610a2c5760405163e2a1cc9160e01b815260048101869052602401610371565b505b505050505050565b600080546001600160a01b0362010000909104811690831603610a5a576000610a64565b67016345785d8a00005b6001600160401b031690506000817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610abe9190610ff9565b602060405180830381865afa158015610adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aff91906110c1565b610b09919061129a565b90506000610b58827f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610465565b509050808511610b685780610b6a565b845b60405163095ea7b360e01b81529095506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b390610bdb907f00000000000000000000000000000000000000000000000000000000000000009086906004016110da565b6020604051808303816000875af1158015610bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1e91906110f3565b50604080516080810182527f0000000000000000000000000000000000000000000000000000000000000000606090811b6001600160601b031990811660a084015261027160ec1b60b48401527f0000000000000000000000000000000000000000000000000000000000000000821b1660b7830152825160ab81840301815260cb8301845282526000546201000090046001600160a01b039081166020840152828401869052908201889052915163b858183f60e01b815290917f0000000000000000000000000000000000000000000000000000000000000000169063b858183f90610d109084906004016112b3565b6020604051808303816000875af1158015610d2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5391906110c1565b506000546001600160a01b03868116620100009092041614610a2e5760405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb90610dbd90889088906004016110da565b6020604051808303816000875af1158015610ddc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2c91906110f3565b600054610100900460ff1615808015610e205750600054600160ff909116105b80610e3a5750303b158015610e3a575060005460ff166001145b610e9d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610371565b6000805460ff191660011790558015610ec0576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b03851602179055801561037a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b478015610f4157610f3c8383610648565b505050565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610f8d903090600401610ff9565b602060405180830381865afa158015610faa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fce91906110c1565b90508015610fe057610f3c8383610a36565b60405163701b93d160e11b815260040160405180910390fd5b6001600160a01b0391909116815260200190565b6001600160a01b038116811461046257600080fd5b60006020828403121561103457600080fd5b813561103f8161100d565b9392505050565b60008060006060848603121561105b57600080fd5b83359250602084013561106d8161100d565b9150604084013563ffffffff8116811461108657600080fd5b809150509250925092565b600080604083850312156110a457600080fd5b8235915060208301356110b68161100d565b809150509250929050565b6000602082840312156110d357600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b60006020828403121561110557600080fd5b8151801515811461103f57600080fd5b6001600160801b039490941684526001600160a01b0392831660208501529116604083015263ffffffff16606082015260800190565b634e487b7160e01b600052604160045260246000fd5b805161116c8161100d565b919050565b6000806040838503121561118457600080fd5b8251602080850151919350906001600160401b03808211156111a557600080fd5b818601915086601f8301126111b957600080fd5b8151818111156111cb576111cb61114b565b8060051b604051601f19603f830116810181811085821117156111f0576111f061114b565b60405291825284820192508381018501918983111561120e57600080fd5b938501935b828510156112335761122485611161565b84529385019392850192611213565b8096505050505050509250929050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561127357611273611243565b500290565b60008261129557634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156112ad576112ad611243565b92915050565b60006020808352835160808285015280518060a086015260005b818110156112e95782810184015186820160c0015283016112cd565b50600060c08287010152918501516001600160a01b0381166040860152916040860151606086810191909152909501516080850152505050601f91909101601f19160160c0019056fea264697066735822122037d3ac11e9526b2b9bd1eba5106badabdb844bd0a0a1eec3922d4f684d81f65664736f6c63430008100033";
81
131
 
82
132
  type BuyGDCloneFactoryConstructorParams =
83
133
  | [signer?: Signer]
@@ -126,6 +126,11 @@ const _abi = [
126
126
  name: "baseToken",
127
127
  type: "address",
128
128
  },
129
+ {
130
+ internalType: "uint32",
131
+ name: "period",
132
+ type: "uint32",
133
+ },
129
134
  ],
130
135
  name: "minAmountByTWAP",
131
136
  outputs: [
@@ -134,6 +139,11 @@ const _abi = [
134
139
  name: "minTwap",
135
140
  type: "uint256",
136
141
  },
142
+ {
143
+ internalType: "uint256",
144
+ name: "quote",
145
+ type: "uint256",
146
+ },
137
147
  ],
138
148
  stateMutability: "view",
139
149
  type: "function",
@@ -197,6 +207,11 @@ const _abi = [
197
207
  name: "_minAmount",
198
208
  type: "uint256",
199
209
  },
210
+ {
211
+ internalType: "address payable",
212
+ name: "refundGas",
213
+ type: "address",
214
+ },
200
215
  ],
201
216
  name: "swap",
202
217
  outputs: [],
@@ -210,6 +225,11 @@ const _abi = [
210
225
  name: "_minAmount",
211
226
  type: "uint256",
212
227
  },
228
+ {
229
+ internalType: "address payable",
230
+ name: "refundGas",
231
+ type: "address",
232
+ },
213
233
  ],
214
234
  name: "swapCelo",
215
235
  outputs: [],
@@ -223,6 +243,11 @@ const _abi = [
223
243
  name: "_minAmount",
224
244
  type: "uint256",
225
245
  },
246
+ {
247
+ internalType: "address",
248
+ name: "refundGas",
249
+ type: "address",
250
+ },
226
251
  ],
227
252
  name: "swapCusd",
228
253
  outputs: [],
@@ -249,7 +274,7 @@ const _abi = [
249
274
  ];
250
275
 
251
276
  const _bytecode =
252
- "0x6101206040523480156200001257600080fd5b506040516200142038038062001420833981016040819052620000359162000078565b6001600160a01b0393841660805291831660c052821660e052166101005261012c60a052620000e0565b6001600160a01b03811681146200007557600080fd5b50565b600080600080608085870312156200008f57600080fd5b84516200009c816200005f565b6020860151909450620000af816200005f565b6040860151909350620000c2816200005f565b6060860151909250620000d5816200005f565b939692955090935050565b60805160a05160c05160e0516101005161126f620001b1600039600081816101a60152818161049e015261057c015260008181610213015281816105cd015281816108860152610c7d015260008181610102015281816104cf015281816105ab015281816106ba0152818161074f0152818161079e0152818161084e015281816109ae01528181610a580152610c4501526000818161027a015281816104f101526105ef0152600081816102c3015281816107cb0152818161090601528181610b9a0152610cfd015261126f6000f3fe6080604052600436106100a65760003560e01c8063051ed8ef146100b25780630c577bdc146100f05780630cd865ec14610124578063130acf441461014657806377e9acd9146101745780637dc0d1d0146101945780638da5cb5b146101c857806394b918de146101ee578063a5e598fc14610201578063c3683d0a14610235578063c4d66de814610248578063f620732614610268578063f887ea40146102b157600080fd5b366100ad57005b600080fd5b3480156100be57600080fd5b506100da73471ece3750da237f93b8e339c536989b8978a43881565b6040516100e79190610f25565b60405180910390f35b3480156100fc57600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561013057600080fd5b5061014461013f366004610f4e565b6102e5565b005b34801561015257600080fd5b50610166610161366004610f72565b61045e565b6040519081526020016100e7565b34801561018057600080fd5b5061014461018f366004610fa2565b610681565b3480156101a057600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b3480156101d457600080fd5b506000546100da906201000090046001600160a01b031681565b6101446101fc366004610fa2565b610a31565b34801561020d57600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b610144610243366004610fa2565b610af8565b34801561025457600080fd5b50610144610263366004610f4e565b610dfa565b34801561027457600080fd5b5061029c7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100e7565b3480156102bd57600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166103775760008054604051620100009091046001600160a01b03169047908381818185875af1925050503d8060008114610345576040519150601f19603f3d011682016040523d82523d6000602084013e61034a565b606091505b50509050806103735760405163e2a1cc9160e01b81524760048201526024015b60405180910390fd5b5050565b6000546040516370a0823160e01b81526001600160a01b038084169263a9059cbb92620100009091049091169083906370a08231906103ba903090600401610f25565b602060405180830381865afa1580156103d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fb9190610fbb565b6040518363ffffffff1660e01b8152600401610418929190610fd4565b6020604051808303816000875af1158015610437573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103739190610fed565b50565b6000828173471ece3750da237f93b8e339c536989b8978a437196001600160a01b0385160161056557604051630757bc8160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630757bc819061051990859088907f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000009060040161100f565b600060405180830381865afa158015610536573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261055e919081019061106b565b5091508190505b604051630757bc8160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630757bc81906106179085907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000009060040161100f565b600060405180830381865afa158015610634573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065c919081019061106b565b509050606461066c82605f611153565b6106769190611172565b925050505b92915050565b600080546201000090046001600160a01b031633036106a15760006106ab565b67016345785d8a00005b6001600160401b0316905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016107049190610f25565b602060405180830381865afa158015610721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107459190610fbb565b90506000610773827f000000000000000000000000000000000000000000000000000000000000000061045e565b90508084116107825780610784565b835b60405163095ea7b360e01b81529094506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906107f5907f0000000000000000000000000000000000000000000000000000000000000000908690600401610fd4565b6020604051808303816000875af1158015610814573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108389190610fed565b50604080516080810182526001600160601b03197f0000000000000000000000000000000000000000000000000000000000000000606090811b821660a084015261027160ec1b60b48401527f0000000000000000000000000000000000000000000000000000000000000000901b1660b7820152815180820360ab01815260cb820183528152600080546201000090046001600160a01b031660208301529181016108e48686611194565b815260200186905260405163b858183f60e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b858183f9061093b9084906004016111a7565b6020604051808303816000875af115801561095a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097e9190610fbb565b506000546201000090046001600160a01b03163314610a2a5760405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906109e59033908890600401610fd4565b6020604051808303816000875af1158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190610fed565b505b5050505050565b478015610a415761037382610af8565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610a8d903090600401610f25565b602060405180830381865afa158015610aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ace9190610fbb565b90508015610adf5761037382610681565b60405163701b93d160e11b815260040160405180910390fd5b600080546201000090046001600160a01b03163314610b3157610b1f48633b9aca00611226565b610b2c9062061a80611153565b610b34565b60005b9050476000610b578273471ece3750da237f93b8e339c536989b8978a43861045e565b9050808411610b665780610b68565b835b60405163095ea7b360e01b815290945073471ece3750da237f93b8e339c536989b8978a4389063095ea7b390610bc4907f0000000000000000000000000000000000000000000000000000000000000000908690600401610fd4565b6020604051808303816000875af1158015610be3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c079190610fed565b50604080516080810182527308e3d9c6ea1b446ff2771c6738a6d313712f148760631b60a082015261017760eb1b60b48201526001600160601b03197f0000000000000000000000000000000000000000000000000000000000000000606090811b821660b784015261027160ec1b60cb8401527f0000000000000000000000000000000000000000000000000000000000000000901b1660ce820152815180820360c201815260e2820183528152600080546201000090046001600160a01b03166020830152918101610cdb8686611194565b815260200186905260405163b858183f60e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b858183f90610d329084906004016111a7565b6020604051808303816000875af1158015610d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d759190610fbb565b506000546201000090046001600160a01b03163314610a2a57604051600090339086908381818185875af1925050503d8060008114610dd0576040519150601f19603f3d011682016040523d82523d6000602084013e610dd5565b606091505b5050905080610a285760405163e2a1cc9160e01b81526004810186905260240161036a565b600054610100900460ff1615808015610e1a5750600054600160ff909116105b80610e345750303b158015610e34575060005460ff166001145b610e975760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161036a565b6000805460ff191660011790558015610eba576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015610373576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461045b57600080fd5b600060208284031215610f6057600080fd5b8135610f6b81610f39565b9392505050565b60008060408385031215610f8557600080fd5b823591506020830135610f9781610f39565b809150509250929050565b600060208284031215610fb457600080fd5b5035919050565b600060208284031215610fcd57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b600060208284031215610fff57600080fd5b81518015158114610f6b57600080fd5b6001600160801b039490941684526001600160a01b0392831660208501529116604083015263ffffffff16606082015260800190565b634e487b7160e01b600052604160045260246000fd5b805161106681610f39565b919050565b6000806040838503121561107e57600080fd5b8251602080850151919350906001600160401b038082111561109f57600080fd5b818601915086601f8301126110b357600080fd5b8151818111156110c5576110c5611045565b8060051b604051601f19603f830116810181811085821117156110ea576110ea611045565b60405291825284820192508381018501918983111561110857600080fd5b938501935b8285101561112d5761111e8561105b565b8452938501939285019261110d565b8096505050505050509250929050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561116d5761116d61113d565b500290565b60008261118f57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561067b5761067b61113d565b60006020808352835160808285015280518060a086015260005b818110156111dd5782810184015186820160c0015283016111c1565b50600060c08287010152918501516001600160a01b0381166040860152916040860151606086810191909152909501516080850152505050601f91909101601f19160160c00190565b8082018082111561067b5761067b61113d56fea2646970667358221220ba1dccba0e8d51fbfd40d3cf5d797df82a47de3edf9b7e2205bd7bb17f7eb92864736f6c63430008100033";
277
+ "0x6101206040523480156200001257600080fd5b506040516200152738038062001527833981016040819052620000359162000078565b6001600160a01b0393841660805291831660c052821660e052166101005261012c60a052620000e0565b6001600160a01b03811681146200007557600080fd5b50565b600080600080608085870312156200008f57600080fd5b84516200009c816200005f565b6020860151909450620000af816200005f565b6040860151909350620000c2816200005f565b6060860151909250620000d5816200005f565b939692955090935050565b60805160a05160c05160e05161010051611368620001bf60003960008181610158015281816104a501528181610563015261067b0152600081816101e7015281816105b4015281816108b30152610c6d015260008181610102015281816104d601528181610592015281816106b20152818161087101528181610a7401528181610b1301528181610b8401528181610c2b01528181610d860152610f58015260008181610281015281816107670152610b340152600081816102ca015281816107cf0152818161092101528181610bb10152610cdb01526113686000f3fe6080604052600436106100a65760003560e01c8063051ed8ef146100b25780630c577bdc146100f05780630cd865ec146101245780637dc0d1d014610146578063821dc9101461017a5780638da5cb5b146101af578063a5e598fc146101d5578063aa6bfa9d14610209578063b1a5fa9f1461021c578063c4d66de81461023c578063d3986f081461025c578063f62073261461026f578063f887ea40146102b857600080fd5b366100ad57005b600080fd5b3480156100be57600080fd5b506100da73471ece3750da237f93b8e339c536989b8978a43881565b6040516100e79190610ff9565b60405180910390f35b3480156100fc57600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561013057600080fd5b5061014461013f366004611022565b6102ec565b005b34801561015257600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561018657600080fd5b5061019a610195366004611046565b610465565b604080519283526020830191909152016100e7565b3480156101bb57600080fd5b506000546100da906201000090046001600160a01b031681565b3480156101e157600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b610144610217366004611091565b610648565b34801561022857600080fd5b50610144610237366004611091565b610a36565b34801561024857600080fd5b50610144610257366004611022565b610e00565b61014461026a366004611091565b610f2b565b34801561027b57600080fd5b506102a37f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100e7565b3480156102c457600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03811661037e5760008054604051620100009091046001600160a01b03169047908381818185875af1925050503d806000811461034c576040519150601f19603f3d011682016040523d82523d6000602084013e610351565b606091505b505090508061037a5760405163e2a1cc9160e01b81524760048201526024015b60405180910390fd5b5050565b6000546040516370a0823160e01b81526001600160a01b038084169263a9059cbb92620100009091049091169083906370a08231906103c1903090600401610ff9565b602060405180830381865afa1580156103de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040291906110c1565b6040518363ffffffff1660e01b815260040161041f9291906110da565b6020604051808303816000875af115801561043e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037a91906110f3565b50565b6000808473471ece3750da237f93b8e339c536989b8978a437196001600160a01b0386160161054c57604051630757bc8160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630757bc819061050090849089907f0000000000000000000000000000000000000000000000000000000000000000908a90600401611115565b600060405180830381865afa15801561051d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105459190810190611171565b5091508190505b604051630757bc8160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630757bc81906105de9084907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000908a90600401611115565b600060405180830381865afa1580156105fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106239190810190611171565b5091506064610633836062611259565b61063d9190611278565b925050935093915050565b600080546001600160a01b0383811662010000909204161461073c57604051630757bc8160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630757bc81906106f39067016345785d8a0000907f00000000000000000000000000000000000000000000000000000000000000009073471ece3750da237f93b8e339c536989b8978a43890603c90600401611115565b600060405180830381865afa158015610710573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107389190810190611171565b5090505b6000610748824761129a565b9050600061078b8273471ece3750da237f93b8e339c536989b8978a4387f0000000000000000000000000000000000000000000000000000000000000000610465565b50905080851161079b578061079d565b845b60405163095ea7b360e01b815290955073471ece3750da237f93b8e339c536989b8978a4389063095ea7b3906107f9907f00000000000000000000000000000000000000000000000000000000000000009086906004016110da565b6020604051808303816000875af1158015610818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083c91906110f3565b50604080516080810182527308e3d9c6ea1b446ff2771c6738a6d313712f148760631b60a082015261017760eb1b60b48201527f0000000000000000000000000000000000000000000000000000000000000000606090811b6001600160601b031990811660b784015261027160ec1b60cb8401527f0000000000000000000000000000000000000000000000000000000000000000821b1660ce830152825160c281840301815260e28301845282526000546201000090046001600160a01b039081166020840152828401869052908201889052915163b858183f60e01b815290917f0000000000000000000000000000000000000000000000000000000000000000169063b858183f906109569084906004016112b3565b6020604051808303816000875af1158015610975573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099991906110c1565b506000546001600160a01b03868116620100009092041614610a2e576000856001600160a01b03168560405160006040518083038185875af1925050503d8060008114610a02576040519150601f19603f3d011682016040523d82523d6000602084013e610a07565b606091505b5050905080610a2c5760405163e2a1cc9160e01b815260048101869052602401610371565b505b505050505050565b600080546001600160a01b0362010000909104811690831603610a5a576000610a64565b67016345785d8a00005b6001600160401b031690506000817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610abe9190610ff9565b602060405180830381865afa158015610adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aff91906110c1565b610b09919061129a565b90506000610b58827f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610465565b509050808511610b685780610b6a565b845b60405163095ea7b360e01b81529095506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b390610bdb907f00000000000000000000000000000000000000000000000000000000000000009086906004016110da565b6020604051808303816000875af1158015610bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1e91906110f3565b50604080516080810182527f0000000000000000000000000000000000000000000000000000000000000000606090811b6001600160601b031990811660a084015261027160ec1b60b48401527f0000000000000000000000000000000000000000000000000000000000000000821b1660b7830152825160ab81840301815260cb8301845282526000546201000090046001600160a01b039081166020840152828401869052908201889052915163b858183f60e01b815290917f0000000000000000000000000000000000000000000000000000000000000000169063b858183f90610d109084906004016112b3565b6020604051808303816000875af1158015610d2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5391906110c1565b506000546001600160a01b03868116620100009092041614610a2e5760405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb90610dbd90889088906004016110da565b6020604051808303816000875af1158015610ddc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2c91906110f3565b600054610100900460ff1615808015610e205750600054600160ff909116105b80610e3a5750303b158015610e3a575060005460ff166001145b610e9d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610371565b6000805460ff191660011790558015610ec0576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b03851602179055801561037a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b478015610f4157610f3c8383610648565b505050565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610f8d903090600401610ff9565b602060405180830381865afa158015610faa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fce91906110c1565b90508015610fe057610f3c8383610a36565b60405163701b93d160e11b815260040160405180910390fd5b6001600160a01b0391909116815260200190565b6001600160a01b038116811461046257600080fd5b60006020828403121561103457600080fd5b813561103f8161100d565b9392505050565b60008060006060848603121561105b57600080fd5b83359250602084013561106d8161100d565b9150604084013563ffffffff8116811461108657600080fd5b809150509250925092565b600080604083850312156110a457600080fd5b8235915060208301356110b68161100d565b809150509250929050565b6000602082840312156110d357600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b60006020828403121561110557600080fd5b8151801515811461103f57600080fd5b6001600160801b039490941684526001600160a01b0392831660208501529116604083015263ffffffff16606082015260800190565b634e487b7160e01b600052604160045260246000fd5b805161116c8161100d565b919050565b6000806040838503121561118457600080fd5b8251602080850151919350906001600160401b03808211156111a557600080fd5b818601915086601f8301126111b957600080fd5b8151818111156111cb576111cb61114b565b8060051b604051601f19603f830116810181811085821117156111f0576111f061114b565b60405291825284820192508381018501918983111561120e57600080fd5b938501935b828510156112335761122485611161565b84529385019392850192611213565b8096505050505050509250929050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561127357611273611243565b500290565b60008261129557634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156112ad576112ad611243565b92915050565b60006020808352835160808285015280518060a086015260005b818110156112e95782810184015186820160c0015283016112cd565b50600060c08287010152918501516001600160a01b0381166040860152916040860151606086810191909152909501516080850152505050601f91909101601f19160160c0019056fea264697066735822122037d3ac11e9526b2b9bd1eba5106badabdb844bd0a0a1eec3922d4f684d81f65664736f6c63430008100033";
253
278
 
254
279
  type BuyGDCloneConstructorParams =
255
280
  | [signer?: Signer]