@gooddollar/goodprotocol 2.0.7-beta.3 → 2.0.7-beta.4

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 (179) hide show
  1. package/artifacts/abis/BuyGDClone.min.json +1 -1
  2. package/artifacts/abis/BuyGDCloneFactory.min.json +1 -1
  3. package/artifacts/abis/IStaticOracle.min.json +1 -0
  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/IConsensus.dbg.json +1 -1
  102. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  103. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  104. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  105. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  106. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  107. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  108. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  109. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  110. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  111. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  112. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  113. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  114. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  115. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
  116. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
  117. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
  118. package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.dbg.json +1 -1
  119. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
  120. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
  121. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
  122. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
  123. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
  124. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
  125. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
  126. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
  127. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
  128. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
  129. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
  130. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
  131. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  132. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
  133. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  134. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
  135. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  136. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  137. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
  138. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
  139. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.json +68 -24
  140. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
  141. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.json +7 -12
  142. package/artifacts/contracts/utils/BuyGDClone.sol/IStaticOracle.dbg.json +4 -0
  143. package/artifacts/contracts/utils/BuyGDClone.sol/IStaticOracle.json +79 -0
  144. package/artifacts/contracts/utils/BuyGDClone.sol/ISwapRouter.dbg.json +1 -1
  145. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  146. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  147. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  148. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  149. package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
  150. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  151. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  152. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  153. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  154. package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
  155. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  156. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  157. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  158. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
  159. package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
  160. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  161. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  162. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  163. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  164. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  165. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  166. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  167. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  168. package/contracts/utils/BuyGDClone.sol +162 -24
  169. package/package.json +1 -1
  170. package/scripts/upgrades/multichain-temp-fix.ts +6 -3
  171. package/truffle-config.js +4 -0
  172. package/types/BuyGDClone.ts +104 -28
  173. package/types/BuyGDCloneFactory.ts +9 -40
  174. package/types/IStaticOracle.ts +170 -0
  175. package/types/factories/BuyGDCloneFactory__factory.ts +16 -12
  176. package/types/factories/BuyGDClone__factory.ts +76 -23
  177. package/types/factories/IStaticOracle__factory.ts +91 -0
  178. package/types/hardhat.d.ts +9 -0
  179. package/types/index.ts +2 -0
@@ -26,18 +26,12 @@ import type {
26
26
 
27
27
  export interface BuyGDCloneFactoryInterface extends ethers.utils.Interface {
28
28
  functions: {
29
- "create(address,address)": FunctionFragment;
30
- "predict(address,address)": FunctionFragment;
29
+ "create(address)": FunctionFragment;
30
+ "predict(address)": FunctionFragment;
31
31
  };
32
32
 
33
- encodeFunctionData(
34
- functionFragment: "create",
35
- values: [string, string]
36
- ): string;
37
- encodeFunctionData(
38
- functionFragment: "predict",
39
- values: [string, string]
40
- ): string;
33
+ encodeFunctionData(functionFragment: "create", values: [string]): string;
34
+ encodeFunctionData(functionFragment: "predict", values: [string]): string;
41
35
 
42
36
  decodeFunctionResult(functionFragment: "create", data: BytesLike): Result;
43
37
  decodeFunctionResult(functionFragment: "predict", data: BytesLike): Result;
@@ -74,41 +68,23 @@ export interface BuyGDCloneFactory extends BaseContract {
74
68
  functions: {
75
69
  create(
76
70
  owner: string,
77
- executer: string,
78
71
  overrides?: Overrides & { from?: string | Promise<string> }
79
72
  ): Promise<ContractTransaction>;
80
73
 
81
- predict(
82
- owner: string,
83
- executer: string,
84
- overrides?: CallOverrides
85
- ): Promise<[string]>;
74
+ predict(owner: string, overrides?: CallOverrides): Promise<[string]>;
86
75
  };
87
76
 
88
77
  create(
89
78
  owner: string,
90
- executer: string,
91
79
  overrides?: Overrides & { from?: string | Promise<string> }
92
80
  ): Promise<ContractTransaction>;
93
81
 
94
- predict(
95
- owner: string,
96
- executer: string,
97
- overrides?: CallOverrides
98
- ): Promise<string>;
82
+ predict(owner: string, overrides?: CallOverrides): Promise<string>;
99
83
 
100
84
  callStatic: {
101
- create(
102
- owner: string,
103
- executer: string,
104
- overrides?: CallOverrides
105
- ): Promise<string>;
85
+ create(owner: string, overrides?: CallOverrides): Promise<string>;
106
86
 
107
- predict(
108
- owner: string,
109
- executer: string,
110
- overrides?: CallOverrides
111
- ): Promise<string>;
87
+ predict(owner: string, overrides?: CallOverrides): Promise<string>;
112
88
  };
113
89
 
114
90
  filters: {};
@@ -116,27 +92,20 @@ export interface BuyGDCloneFactory extends BaseContract {
116
92
  estimateGas: {
117
93
  create(
118
94
  owner: string,
119
- executer: string,
120
95
  overrides?: Overrides & { from?: string | Promise<string> }
121
96
  ): Promise<BigNumber>;
122
97
 
123
- predict(
124
- owner: string,
125
- executer: string,
126
- overrides?: CallOverrides
127
- ): Promise<BigNumber>;
98
+ predict(owner: string, overrides?: CallOverrides): Promise<BigNumber>;
128
99
  };
129
100
 
130
101
  populateTransaction: {
131
102
  create(
132
103
  owner: string,
133
- executer: string,
134
104
  overrides?: Overrides & { from?: string | Promise<string> }
135
105
  ): Promise<PopulatedTransaction>;
136
106
 
137
107
  predict(
138
108
  owner: string,
139
- executer: string,
140
109
  overrides?: CallOverrides
141
110
  ): Promise<PopulatedTransaction>;
142
111
  };
@@ -0,0 +1,170 @@
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 IStaticOracleInterface extends ethers.utils.Interface {
28
+ functions: {
29
+ "prepareAllAvailablePoolsWithCardinality(address,address,uint16)": FunctionFragment;
30
+ "quoteAllAvailablePoolsWithTimePeriod(uint128,address,address,uint32)": FunctionFragment;
31
+ };
32
+
33
+ encodeFunctionData(
34
+ functionFragment: "prepareAllAvailablePoolsWithCardinality",
35
+ values: [string, string, BigNumberish]
36
+ ): string;
37
+ encodeFunctionData(
38
+ functionFragment: "quoteAllAvailablePoolsWithTimePeriod",
39
+ values: [BigNumberish, string, string, BigNumberish]
40
+ ): string;
41
+
42
+ decodeFunctionResult(
43
+ functionFragment: "prepareAllAvailablePoolsWithCardinality",
44
+ data: BytesLike
45
+ ): Result;
46
+ decodeFunctionResult(
47
+ functionFragment: "quoteAllAvailablePoolsWithTimePeriod",
48
+ data: BytesLike
49
+ ): Result;
50
+
51
+ events: {};
52
+ }
53
+
54
+ export interface IStaticOracle extends BaseContract {
55
+ connect(signerOrProvider: Signer | Provider | string): this;
56
+ attach(addressOrName: string): this;
57
+ deployed(): Promise<this>;
58
+
59
+ interface: IStaticOracleInterface;
60
+
61
+ queryFilter<TEvent extends TypedEvent>(
62
+ event: TypedEventFilter<TEvent>,
63
+ fromBlockOrBlockhash?: string | number | undefined,
64
+ toBlock?: string | number | undefined
65
+ ): Promise<Array<TEvent>>;
66
+
67
+ listeners<TEvent extends TypedEvent>(
68
+ eventFilter?: TypedEventFilter<TEvent>
69
+ ): Array<TypedListener<TEvent>>;
70
+ listeners(eventName?: string): Array<Listener>;
71
+ removeAllListeners<TEvent extends TypedEvent>(
72
+ eventFilter: TypedEventFilter<TEvent>
73
+ ): this;
74
+ removeAllListeners(eventName?: string): this;
75
+ off: OnEvent<this>;
76
+ on: OnEvent<this>;
77
+ once: OnEvent<this>;
78
+ removeListener: OnEvent<this>;
79
+
80
+ functions: {
81
+ prepareAllAvailablePoolsWithCardinality(
82
+ tokenA: string,
83
+ tokenB: string,
84
+ cardinality: BigNumberish,
85
+ overrides?: Overrides & { from?: string | Promise<string> }
86
+ ): Promise<ContractTransaction>;
87
+
88
+ quoteAllAvailablePoolsWithTimePeriod(
89
+ baseAmount: BigNumberish,
90
+ baseToken: string,
91
+ quoteToken: string,
92
+ period: BigNumberish,
93
+ overrides?: CallOverrides
94
+ ): Promise<
95
+ [BigNumber, string[]] & { quoteAmount: BigNumber; queriedPools: string[] }
96
+ >;
97
+ };
98
+
99
+ prepareAllAvailablePoolsWithCardinality(
100
+ tokenA: string,
101
+ tokenB: string,
102
+ cardinality: BigNumberish,
103
+ overrides?: Overrides & { from?: string | Promise<string> }
104
+ ): Promise<ContractTransaction>;
105
+
106
+ quoteAllAvailablePoolsWithTimePeriod(
107
+ baseAmount: BigNumberish,
108
+ baseToken: string,
109
+ quoteToken: string,
110
+ period: BigNumberish,
111
+ overrides?: CallOverrides
112
+ ): Promise<
113
+ [BigNumber, string[]] & { quoteAmount: BigNumber; queriedPools: string[] }
114
+ >;
115
+
116
+ callStatic: {
117
+ prepareAllAvailablePoolsWithCardinality(
118
+ tokenA: string,
119
+ tokenB: string,
120
+ cardinality: BigNumberish,
121
+ overrides?: CallOverrides
122
+ ): Promise<string[]>;
123
+
124
+ quoteAllAvailablePoolsWithTimePeriod(
125
+ baseAmount: BigNumberish,
126
+ baseToken: string,
127
+ quoteToken: string,
128
+ period: BigNumberish,
129
+ overrides?: CallOverrides
130
+ ): Promise<
131
+ [BigNumber, string[]] & { quoteAmount: BigNumber; queriedPools: string[] }
132
+ >;
133
+ };
134
+
135
+ filters: {};
136
+
137
+ estimateGas: {
138
+ prepareAllAvailablePoolsWithCardinality(
139
+ tokenA: string,
140
+ tokenB: string,
141
+ cardinality: BigNumberish,
142
+ overrides?: Overrides & { from?: string | Promise<string> }
143
+ ): Promise<BigNumber>;
144
+
145
+ quoteAllAvailablePoolsWithTimePeriod(
146
+ baseAmount: BigNumberish,
147
+ baseToken: string,
148
+ quoteToken: string,
149
+ period: BigNumberish,
150
+ overrides?: CallOverrides
151
+ ): Promise<BigNumber>;
152
+ };
153
+
154
+ populateTransaction: {
155
+ prepareAllAvailablePoolsWithCardinality(
156
+ tokenA: string,
157
+ tokenB: string,
158
+ cardinality: BigNumberish,
159
+ overrides?: Overrides & { from?: string | Promise<string> }
160
+ ): Promise<PopulatedTransaction>;
161
+
162
+ quoteAllAvailablePoolsWithTimePeriod(
163
+ baseAmount: BigNumberish,
164
+ baseToken: string,
165
+ quoteToken: string,
166
+ period: BigNumberish,
167
+ overrides?: CallOverrides
168
+ ): Promise<PopulatedTransaction>;
169
+ };
170
+ }
@@ -27,6 +27,11 @@ const _abi = [
27
27
  name: "_gd",
28
28
  type: "address",
29
29
  },
30
+ {
31
+ internalType: "contract IStaticOracle",
32
+ name: "_oracle",
33
+ type: "address",
34
+ },
30
35
  ],
31
36
  stateMutability: "nonpayable",
32
37
  type: "constructor",
@@ -38,11 +43,6 @@ const _abi = [
38
43
  name: "owner",
39
44
  type: "address",
40
45
  },
41
- {
42
- internalType: "address",
43
- name: "executer",
44
- type: "address",
45
- },
46
46
  ],
47
47
  name: "create",
48
48
  outputs: [
@@ -62,11 +62,6 @@ const _abi = [
62
62
  name: "owner",
63
63
  type: "address",
64
64
  },
65
- {
66
- internalType: "address",
67
- name: "executer",
68
- type: "address",
69
- },
70
65
  ],
71
66
  name: "predict",
72
67
  outputs: [
@@ -82,7 +77,7 @@ const _abi = [
82
77
  ];
83
78
 
84
79
  const _bytecode =
85
- "0x60a060405234801561001057600080fd5b5060405161134638038061134683398101604081905261002f916100b5565b82828260405161003e90610090565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801561007a573d6000803e3d6000fd5b506001600160a01b031660805250610102915050565b610efb8061044b83390190565b6001600160a01b03811681146100b257600080fd5b50565b6000806000606084860312156100ca57600080fd5b83516100d58161009d565b60208501519093506100e68161009d565b60408501519092506100f78161009d565b809150509250925092565b6080516103286101236000396000818160b2015261019201526103286000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633e68680a1461003b5780635c911b291461006a575b600080fd5b61004e6100493660046102a5565b61007d565b6040516001600160a01b03909116815260200160405180910390f35b61004e6100783660046102a5565b610145565b60008083836040516020016100939291906102d8565b60405160208183030381529060405280519060200120905060006100d77f0000000000000000000000000000000000000000000000000000000000000000836101ee565b60405163485cc95560e01b81529091506001600160a01b0382169063485cc9559061010890889088906004016102d8565b600060405180830381600087803b15801561012257600080fd5b505af1158015610136573d6000803e3d6000fd5b50929450505050505b92915050565b600080838360405160200161015b9291906102d8565b60408051808303601f190181529082905280516020909101203060388301526f5af43d82803e903d91602b57fd5bf3ff60248301527f00000000000000000000000000000000000000000000000000000000000000006014830152733d602d80600a3d3981f3363d3d373d3d3d363d73825260588201526037600c82012060788201526055604390910120949350505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b03811661013f5760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b604482015260640160405180910390fd5b80356001600160a01b03811681146102a057600080fd5b919050565b600080604083850312156102b857600080fd5b6102c183610289565b91506102cf60208401610289565b90509250929050565b6001600160a01b039283168152911660208201526040019056fea2646970667358221220bb79b4c0132ca24f88937fb278b04c69969e89aaf8b91a22adfda79722c30bff64736f6c6343000810003360e060405234801561001057600080fd5b50604051610efb380380610efb83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610dcf61012c600039600081816101dd015281816107070152610a4a01526000818160e10152818161058f0152818161061f015281816106cf015281816108290152610a120152600081816102110152818161064c01528181610787015281816109670152610aca0152610dcf6000f3fe6080604052600436106100855760003560e01c8063051ed8ef146100915780630c577bdc146100cf5780630cd865ec14610103578063240ff76714610125578063485cc9551461014557806377e9acd9146101655780638da5cb5b1461018557806394b918de146101ab578063a5e598fc146101cb578063f887ea40146101ff57600080fd5b3661008c57005b600080fd5b34801561009d57600080fd5b506100b973471ece3750da237f93b8e339c536989b8978a43881565b6040516100c69190610bc7565b60405180910390f35b3480156100db57600080fd5b506100b97f000000000000000000000000000000000000000000000000000000000000000081565b34801561010f57600080fd5b5061012361011e366004610bf7565b610233565b005b34801561013157600080fd5b506001546100b9906001600160a01b031681565b34801561015157600080fd5b50610123610160366004610c19565b6103a9565b34801561017157600080fd5b50610123610180366004610c4c565b6104f5565b34801561019157600080fd5b506000546100b9906201000090046001600160a01b031681565b3480156101b757600080fd5b506101236101c6366004610c4c565b6108ab565b3480156101d757600080fd5b506100b97f000000000000000000000000000000000000000000000000000000000000000081565b34801561020b57600080fd5b506100b97f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166102c55760008054604051620100009091046001600160a01b03169047908381818185875af1925050503d8060008114610293576040519150601f19603f3d011682016040523d82523d6000602084013e610298565b606091505b50509050806102c15760405163e2a1cc9160e01b81524760048201526024015b60405180910390fd5b5050565b6000546040516370a0823160e01b81526001600160a01b038084169263a9059cbb92620100009091049091169083906370a0823190610308903090600401610bc7565b602060405180830381865afa158015610325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103499190610c65565b6040518363ffffffff1660e01b8152600401610366929190610c7e565b6020604051808303816000875af1158015610385573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c19190610c97565b600054610100900460ff16158080156103c95750600054600160ff909116105b806103e35750303b1580156103e3575060005460ff166001145b6104465760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102b8565b6000805460ff191660011790558015610469576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038681169190910291909117909155600180546001600160a01b03191691841691909117905580156104f0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001546000906001600160a01b0316331461051157600061051b565b67016345785d8a00005b6000546001600160401b039190911691506201000090046001600160a01b0316331480159061055557506001546001600160a01b03163314155b1561057557336040516335ac4f0560e01b81526004016102b89190610bc7565b6040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906105c4903090600401610bc7565b602060405180830381865afa1580156105e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106059190610c65565b60405163095ea7b360e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b390610676907f0000000000000000000000000000000000000000000000000000000000000000908590600401610c7e565b6020604051808303816000875af1158015610695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b99190610c97565b50604080516080810182526001600160601b03197f0000000000000000000000000000000000000000000000000000000000000000606090811b821660a084015261027160ec1b60b48401527f0000000000000000000000000000000000000000000000000000000000000000901b1660b7820152815180820360ab01815260cb820183528152600080546201000090046001600160a01b031660208301529181016107658585610ccf565b815260200185905260405163b858183f60e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b858183f906107bc908490600401610ce8565b6020604051808303816000875af11580156107db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ff9190610c65565b506001546001600160a01b031633036108a55760405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906108609033908790600401610c7e565b6020604051808303816000875af115801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a39190610c97565b505b50505050565b600080546201000090046001600160a01b031633146108e4576108d248633b9aca00610d67565b6108df9062061a80610d7a565b6108e7565b60005b6000549091506201000090046001600160a01b0316331480159061091657506001546001600160a01b03163314155b1561093657336040516335ac4f0560e01b81526004016102b89190610bc7565b60405163095ea7b360e01b8152479073471ece3750da237f93b8e339c536989b8978a4389063095ea7b390610991907f0000000000000000000000000000000000000000000000000000000000000000908590600401610c7e565b6020604051808303816000875af11580156109b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d49190610c97565b50604080516080810182527308e3d9c6ea1b446ff2771c6738a6d313712f148760631b60a082015261017760eb1b60b48201526001600160601b03197f0000000000000000000000000000000000000000000000000000000000000000606090811b821660b784015261027160ec1b60cb8401527f0000000000000000000000000000000000000000000000000000000000000000901b1660ce820152815180820360c201815260e2820183528152600080546201000090046001600160a01b03166020830152918101610aa88585610ccf565b815260200185905260405163b858183f60e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b858183f90610aff908490600401610ce8565b6020604051808303816000875af1158015610b1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b429190610c65565b506000546201000090046001600160a01b031633146108a557604051600090339085908381818185875af1925050503d8060008114610b9d576040519150601f19603f3d011682016040523d82523d6000602084013e610ba2565b606091505b50509050806108a35760405163e2a1cc9160e01b8152600481018590526024016102b8565b6001600160a01b0391909116815260200190565b80356001600160a01b0381168114610bf257600080fd5b919050565b600060208284031215610c0957600080fd5b610c1282610bdb565b9392505050565b60008060408385031215610c2c57600080fd5b610c3583610bdb565b9150610c4360208401610bdb565b90509250929050565b600060208284031215610c5e57600080fd5b5035919050565b600060208284031215610c7757600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b600060208284031215610ca957600080fd5b81518015158114610c1257600080fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610ce257610ce2610cb9565b92915050565b60006020808352835160808285015280518060a086015260005b81811015610d1e5782810184015186820160c001528301610d02565b50600060c08287010152918501516001600160a01b0381166040860152916040860151606086810191909152909501516080850152505050601f91909101601f19160160c00190565b80820180821115610ce257610ce2610cb9565b6000816000190483118215151615610d9457610d94610cb9565b50029056fea2646970667358221220e0ea2019c5695e439e7780f0ae68aaa57f6a16b884970224f812dc8786b0446764736f6c63430008100033";
80
+ "0x60a060405234801561001057600080fd5b5060405161185a38038061185a83398101604081905261002f916100bf565b8383838360405161003f9061009a565b6001600160a01b039485168152928416602084015290831660408301529091166060820152608001604051809103906000f080158015610083573d6000803e3d6000fd5b506001600160a01b03166080525061011e92505050565b6114208061043a83390190565b6001600160a01b03811681146100bc57600080fd5b50565b600080600080608085870312156100d557600080fd5b84516100e0816100a7565b60208601519094506100f1816100a7565b6040860151909350610102816100a7565b6060860151909250610113816100a7565b939692955090935050565b6080516102fb61013f6000396000818160c2015261015901526102fb6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063901b96e71461003b5780639ed9331814610064575b600080fd5b61004e610049366004610288565b610077565b60405161005b91906102b1565b60405180910390f35b61004e610072366004610288565b610126565b6000808260405160200161008b91906102b1565b60408051601f198184030181529082905280516020909101203060388301526f5af43d82803e903d91602b57fd5bf3ff60248301527f00000000000000000000000000000000000000000000000000000000000000006014830152733d602d80600a3d3981f3363d3d373d3d3d363d738252605882018190526037600c830120607883015260556043909201919091209091505b9392505050565b6000808260405160200161013a91906102b1565b604051602081830303815290604052805190602001209050600061017e7f0000000000000000000000000000000000000000000000000000000000000000836101e7565b60405163189acdbd60e31b81529091506001600160a01b0382169063c4d66de8906101ad9087906004016102b1565b600060405180830381600087803b1580156101c757600080fd5b505af11580156101db573d6000803e3d6000fd5b50929695505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166102825760405162461bcd60e51b8152602060048201526017602482015276115490cc4c4d8dce8818dc99585d194c8819985a5b1959604a1b604482015260640160405180910390fd5b92915050565b60006020828403121561029a57600080fd5b81356001600160a01b038116811461011f57600080fd5b6001600160a01b039190911681526020019056fea2646970667358221220cfa844f49b93c62e4584a4a5b444f64804aa59393ebf3ad00dcc897551aa2c7964736f6c634300081000336101206040523480156200001257600080fd5b506040516200142038038062001420833981016040819052620000359162000078565b6001600160a01b0393841660805291831660c052821660e052166101005261012c60a052620000e0565b6001600160a01b03811681146200007557600080fd5b50565b600080600080608085870312156200008f57600080fd5b84516200009c816200005f565b6020860151909450620000af816200005f565b6040860151909350620000c2816200005f565b6060860151909250620000d5816200005f565b939692955090935050565b60805160a05160c05160e0516101005161126f620001b1600039600081816101a60152818161049e015261057c015260008181610213015281816105cd015281816108860152610c7d015260008181610102015281816104cf015281816105ab015281816106ba0152818161074f0152818161079e0152818161084e015281816109ae01528181610a580152610c4501526000818161027a015281816104f101526105ef0152600081816102c3015281816107cb0152818161090601528181610b9a0152610cfd015261126f6000f3fe6080604052600436106100a65760003560e01c8063051ed8ef146100b25780630c577bdc146100f05780630cd865ec14610124578063130acf441461014657806377e9acd9146101745780637dc0d1d0146101945780638da5cb5b146101c857806394b918de146101ee578063a5e598fc14610201578063c3683d0a14610235578063c4d66de814610248578063f620732614610268578063f887ea40146102b157600080fd5b366100ad57005b600080fd5b3480156100be57600080fd5b506100da73471ece3750da237f93b8e339c536989b8978a43881565b6040516100e79190610f25565b60405180910390f35b3480156100fc57600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561013057600080fd5b5061014461013f366004610f4e565b6102e5565b005b34801561015257600080fd5b50610166610161366004610f72565b61045e565b6040519081526020016100e7565b34801561018057600080fd5b5061014461018f366004610fa2565b610681565b3480156101a057600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b3480156101d457600080fd5b506000546100da906201000090046001600160a01b031681565b6101446101fc366004610fa2565b610a31565b34801561020d57600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b610144610243366004610fa2565b610af8565b34801561025457600080fd5b50610144610263366004610f4e565b610dfa565b34801561027457600080fd5b5061029c7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100e7565b3480156102bd57600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166103775760008054604051620100009091046001600160a01b03169047908381818185875af1925050503d8060008114610345576040519150601f19603f3d011682016040523d82523d6000602084013e61034a565b606091505b50509050806103735760405163e2a1cc9160e01b81524760048201526024015b60405180910390fd5b5050565b6000546040516370a0823160e01b81526001600160a01b038084169263a9059cbb92620100009091049091169083906370a08231906103ba903090600401610f25565b602060405180830381865afa1580156103d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fb9190610fbb565b6040518363ffffffff1660e01b8152600401610418929190610fd4565b6020604051808303816000875af1158015610437573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103739190610fed565b50565b6000828173471ece3750da237f93b8e339c536989b8978a437196001600160a01b0385160161056557604051630757bc8160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630757bc819061051990859088907f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000009060040161100f565b600060405180830381865afa158015610536573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261055e919081019061106b565b5091508190505b604051630757bc8160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630757bc81906106179085907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000009060040161100f565b600060405180830381865afa158015610634573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065c919081019061106b565b509050606461066c82605f611153565b6106769190611172565b925050505b92915050565b600080546201000090046001600160a01b031633036106a15760006106ab565b67016345785d8a00005b6001600160401b0316905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016107049190610f25565b602060405180830381865afa158015610721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107459190610fbb565b90506000610773827f000000000000000000000000000000000000000000000000000000000000000061045e565b90508084116107825780610784565b835b60405163095ea7b360e01b81529094506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906107f5907f0000000000000000000000000000000000000000000000000000000000000000908690600401610fd4565b6020604051808303816000875af1158015610814573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108389190610fed565b50604080516080810182526001600160601b03197f0000000000000000000000000000000000000000000000000000000000000000606090811b821660a084015261027160ec1b60b48401527f0000000000000000000000000000000000000000000000000000000000000000901b1660b7820152815180820360ab01815260cb820183528152600080546201000090046001600160a01b031660208301529181016108e48686611194565b815260200186905260405163b858183f60e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b858183f9061093b9084906004016111a7565b6020604051808303816000875af115801561095a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097e9190610fbb565b506000546201000090046001600160a01b03163314610a2a5760405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906109e59033908890600401610fd4565b6020604051808303816000875af1158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190610fed565b505b5050505050565b478015610a415761037382610af8565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610a8d903090600401610f25565b602060405180830381865afa158015610aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ace9190610fbb565b90508015610adf5761037382610681565b60405163701b93d160e11b815260040160405180910390fd5b600080546201000090046001600160a01b03163314610b3157610b1f48633b9aca00611226565b610b2c9062061a80611153565b610b34565b60005b9050476000610b578273471ece3750da237f93b8e339c536989b8978a43861045e565b9050808411610b665780610b68565b835b60405163095ea7b360e01b815290945073471ece3750da237f93b8e339c536989b8978a4389063095ea7b390610bc4907f0000000000000000000000000000000000000000000000000000000000000000908690600401610fd4565b6020604051808303816000875af1158015610be3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c079190610fed565b50604080516080810182527308e3d9c6ea1b446ff2771c6738a6d313712f148760631b60a082015261017760eb1b60b48201526001600160601b03197f0000000000000000000000000000000000000000000000000000000000000000606090811b821660b784015261027160ec1b60cb8401527f0000000000000000000000000000000000000000000000000000000000000000901b1660ce820152815180820360c201815260e2820183528152600080546201000090046001600160a01b03166020830152918101610cdb8686611194565b815260200186905260405163b858183f60e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b858183f90610d329084906004016111a7565b6020604051808303816000875af1158015610d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d759190610fbb565b506000546201000090046001600160a01b03163314610a2a57604051600090339086908381818185875af1925050503d8060008114610dd0576040519150601f19603f3d011682016040523d82523d6000602084013e610dd5565b606091505b5050905080610a285760405163e2a1cc9160e01b81526004810186905260240161036a565b600054610100900460ff1615808015610e1a5750600054600160ff909116105b80610e345750303b158015610e34575060005460ff166001145b610e975760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161036a565b6000805460ff191660011790558015610eba576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015610373576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461045b57600080fd5b600060208284031215610f6057600080fd5b8135610f6b81610f39565b9392505050565b60008060408385031215610f8557600080fd5b823591506020830135610f9781610f39565b809150509250929050565b600060208284031215610fb457600080fd5b5035919050565b600060208284031215610fcd57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b600060208284031215610fff57600080fd5b81518015158114610f6b57600080fd5b6001600160801b039490941684526001600160a01b0392831660208501529116604083015263ffffffff16606082015260800190565b634e487b7160e01b600052604160045260246000fd5b805161106681610f39565b919050565b6000806040838503121561107e57600080fd5b8251602080850151919350906001600160401b038082111561109f57600080fd5b818601915086601f8301126110b357600080fd5b8151818111156110c5576110c5611045565b8060051b604051601f19603f830116810181811085821117156110ea576110ea611045565b60405291825284820192508381018501918983111561110857600080fd5b938501935b8285101561112d5761111e8561105b565b8452938501939285019261110d565b8096505050505050509250929050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561116d5761116d61113d565b500290565b60008261118f57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561067b5761067b61113d565b60006020808352835160808285015280518060a086015260005b818110156111dd5782810184015186820160c0015283016111c1565b50600060c08287010152918501516001600160a01b0381166040860152916040860151606086810191909152909501516080850152505050601f91909101601f19160160c00190565b8082018082111561067b5761067b61113d56fea2646970667358221220ba1dccba0e8d51fbfd40d3cf5d797df82a47de3edf9b7e2205bd7bb17f7eb92864736f6c63430008100033";
86
81
 
87
82
  type BuyGDCloneFactoryConstructorParams =
88
83
  | [signer?: Signer]
@@ -105,12 +100,14 @@ export class BuyGDCloneFactory__factory extends ContractFactory {
105
100
  _router: string,
106
101
  _cusd: string,
107
102
  _gd: string,
103
+ _oracle: string,
108
104
  overrides?: Overrides & { from?: string | Promise<string> }
109
105
  ): Promise<BuyGDCloneFactory> {
110
106
  return super.deploy(
111
107
  _router,
112
108
  _cusd,
113
109
  _gd,
110
+ _oracle,
114
111
  overrides || {}
115
112
  ) as Promise<BuyGDCloneFactory>;
116
113
  }
@@ -118,9 +115,16 @@ export class BuyGDCloneFactory__factory extends ContractFactory {
118
115
  _router: string,
119
116
  _cusd: string,
120
117
  _gd: string,
118
+ _oracle: string,
121
119
  overrides?: Overrides & { from?: string | Promise<string> }
122
120
  ): TransactionRequest {
123
- return super.getDeployTransaction(_router, _cusd, _gd, overrides || {});
121
+ return super.getDeployTransaction(
122
+ _router,
123
+ _cusd,
124
+ _gd,
125
+ _oracle,
126
+ overrides || {}
127
+ );
124
128
  }
125
129
  attach(address: string): BuyGDCloneFactory {
126
130
  return super.attach(address) as BuyGDCloneFactory;
@@ -24,19 +24,18 @@ const _abi = [
24
24
  name: "_gd",
25
25
  type: "address",
26
26
  },
27
+ {
28
+ internalType: "contract IStaticOracle",
29
+ name: "_oracle",
30
+ type: "address",
31
+ },
27
32
  ],
28
33
  stateMutability: "nonpayable",
29
34
  type: "constructor",
30
35
  },
31
36
  {
32
- inputs: [
33
- {
34
- internalType: "address",
35
- name: "",
36
- type: "address",
37
- },
38
- ],
39
- name: "NOT_ALLOWED",
37
+ inputs: [],
38
+ name: "NO_BALANCE",
40
39
  type: "error",
41
40
  },
42
41
  {
@@ -91,7 +90,7 @@ const _abi = [
91
90
  },
92
91
  {
93
92
  inputs: [],
94
- name: "executer",
93
+ name: "gd",
95
94
  outputs: [
96
95
  {
97
96
  internalType: "address",
@@ -103,34 +102,53 @@ const _abi = [
103
102
  type: "function",
104
103
  },
105
104
  {
106
- inputs: [],
107
- name: "gd",
108
- outputs: [
105
+ inputs: [
109
106
  {
110
107
  internalType: "address",
111
- name: "",
108
+ name: "_owner",
112
109
  type: "address",
113
110
  },
114
111
  ],
115
- stateMutability: "view",
112
+ name: "initialize",
113
+ outputs: [],
114
+ stateMutability: "nonpayable",
116
115
  type: "function",
117
116
  },
118
117
  {
119
118
  inputs: [
119
+ {
120
+ internalType: "uint256",
121
+ name: "baseAmount",
122
+ type: "uint256",
123
+ },
120
124
  {
121
125
  internalType: "address",
122
- name: "_owner",
126
+ name: "baseToken",
123
127
  type: "address",
124
128
  },
129
+ ],
130
+ name: "minAmountByTWAP",
131
+ outputs: [
125
132
  {
126
- internalType: "address",
127
- name: "_executer",
133
+ internalType: "uint256",
134
+ name: "minTwap",
135
+ type: "uint256",
136
+ },
137
+ ],
138
+ stateMutability: "view",
139
+ type: "function",
140
+ },
141
+ {
142
+ inputs: [],
143
+ name: "oracle",
144
+ outputs: [
145
+ {
146
+ internalType: "contract IStaticOracle",
147
+ name: "",
128
148
  type: "address",
129
149
  },
130
150
  ],
131
- name: "initialize",
132
- outputs: [],
133
- stateMutability: "nonpayable",
151
+ stateMutability: "view",
134
152
  type: "function",
135
153
  },
136
154
  {
@@ -182,7 +200,20 @@ const _abi = [
182
200
  ],
183
201
  name: "swap",
184
202
  outputs: [],
185
- stateMutability: "nonpayable",
203
+ stateMutability: "payable",
204
+ type: "function",
205
+ },
206
+ {
207
+ inputs: [
208
+ {
209
+ internalType: "uint256",
210
+ name: "_minAmount",
211
+ type: "uint256",
212
+ },
213
+ ],
214
+ name: "swapCelo",
215
+ outputs: [],
216
+ stateMutability: "payable",
186
217
  type: "function",
187
218
  },
188
219
  {
@@ -198,6 +229,19 @@ const _abi = [
198
229
  stateMutability: "nonpayable",
199
230
  type: "function",
200
231
  },
232
+ {
233
+ inputs: [],
234
+ name: "twapPeriod",
235
+ outputs: [
236
+ {
237
+ internalType: "uint32",
238
+ name: "",
239
+ type: "uint32",
240
+ },
241
+ ],
242
+ stateMutability: "view",
243
+ type: "function",
244
+ },
201
245
  {
202
246
  stateMutability: "payable",
203
247
  type: "receive",
@@ -205,7 +249,7 @@ const _abi = [
205
249
  ];
206
250
 
207
251
  const _bytecode =
208
- "0x60e060405234801561001057600080fd5b50604051610efb380380610efb83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610dcf61012c600039600081816101dd015281816107070152610a4a01526000818160e10152818161058f0152818161061f015281816106cf015281816108290152610a120152600081816102110152818161064c01528181610787015281816109670152610aca0152610dcf6000f3fe6080604052600436106100855760003560e01c8063051ed8ef146100915780630c577bdc146100cf5780630cd865ec14610103578063240ff76714610125578063485cc9551461014557806377e9acd9146101655780638da5cb5b1461018557806394b918de146101ab578063a5e598fc146101cb578063f887ea40146101ff57600080fd5b3661008c57005b600080fd5b34801561009d57600080fd5b506100b973471ece3750da237f93b8e339c536989b8978a43881565b6040516100c69190610bc7565b60405180910390f35b3480156100db57600080fd5b506100b97f000000000000000000000000000000000000000000000000000000000000000081565b34801561010f57600080fd5b5061012361011e366004610bf7565b610233565b005b34801561013157600080fd5b506001546100b9906001600160a01b031681565b34801561015157600080fd5b50610123610160366004610c19565b6103a9565b34801561017157600080fd5b50610123610180366004610c4c565b6104f5565b34801561019157600080fd5b506000546100b9906201000090046001600160a01b031681565b3480156101b757600080fd5b506101236101c6366004610c4c565b6108ab565b3480156101d757600080fd5b506100b97f000000000000000000000000000000000000000000000000000000000000000081565b34801561020b57600080fd5b506100b97f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166102c55760008054604051620100009091046001600160a01b03169047908381818185875af1925050503d8060008114610293576040519150601f19603f3d011682016040523d82523d6000602084013e610298565b606091505b50509050806102c15760405163e2a1cc9160e01b81524760048201526024015b60405180910390fd5b5050565b6000546040516370a0823160e01b81526001600160a01b038084169263a9059cbb92620100009091049091169083906370a0823190610308903090600401610bc7565b602060405180830381865afa158015610325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103499190610c65565b6040518363ffffffff1660e01b8152600401610366929190610c7e565b6020604051808303816000875af1158015610385573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c19190610c97565b600054610100900460ff16158080156103c95750600054600160ff909116105b806103e35750303b1580156103e3575060005460ff166001145b6104465760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102b8565b6000805460ff191660011790558015610469576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038681169190910291909117909155600180546001600160a01b03191691841691909117905580156104f0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001546000906001600160a01b0316331461051157600061051b565b67016345785d8a00005b6000546001600160401b039190911691506201000090046001600160a01b0316331480159061055557506001546001600160a01b03163314155b1561057557336040516335ac4f0560e01b81526004016102b89190610bc7565b6040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906105c4903090600401610bc7565b602060405180830381865afa1580156105e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106059190610c65565b60405163095ea7b360e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b390610676907f0000000000000000000000000000000000000000000000000000000000000000908590600401610c7e565b6020604051808303816000875af1158015610695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b99190610c97565b50604080516080810182526001600160601b03197f0000000000000000000000000000000000000000000000000000000000000000606090811b821660a084015261027160ec1b60b48401527f0000000000000000000000000000000000000000000000000000000000000000901b1660b7820152815180820360ab01815260cb820183528152600080546201000090046001600160a01b031660208301529181016107658585610ccf565b815260200185905260405163b858183f60e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b858183f906107bc908490600401610ce8565b6020604051808303816000875af11580156107db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ff9190610c65565b506001546001600160a01b031633036108a55760405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906108609033908790600401610c7e565b6020604051808303816000875af115801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a39190610c97565b505b50505050565b600080546201000090046001600160a01b031633146108e4576108d248633b9aca00610d67565b6108df9062061a80610d7a565b6108e7565b60005b6000549091506201000090046001600160a01b0316331480159061091657506001546001600160a01b03163314155b1561093657336040516335ac4f0560e01b81526004016102b89190610bc7565b60405163095ea7b360e01b8152479073471ece3750da237f93b8e339c536989b8978a4389063095ea7b390610991907f0000000000000000000000000000000000000000000000000000000000000000908590600401610c7e565b6020604051808303816000875af11580156109b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d49190610c97565b50604080516080810182527308e3d9c6ea1b446ff2771c6738a6d313712f148760631b60a082015261017760eb1b60b48201526001600160601b03197f0000000000000000000000000000000000000000000000000000000000000000606090811b821660b784015261027160ec1b60cb8401527f0000000000000000000000000000000000000000000000000000000000000000901b1660ce820152815180820360c201815260e2820183528152600080546201000090046001600160a01b03166020830152918101610aa88585610ccf565b815260200185905260405163b858183f60e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b858183f90610aff908490600401610ce8565b6020604051808303816000875af1158015610b1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b429190610c65565b506000546201000090046001600160a01b031633146108a557604051600090339085908381818185875af1925050503d8060008114610b9d576040519150601f19603f3d011682016040523d82523d6000602084013e610ba2565b606091505b50509050806108a35760405163e2a1cc9160e01b8152600481018590526024016102b8565b6001600160a01b0391909116815260200190565b80356001600160a01b0381168114610bf257600080fd5b919050565b600060208284031215610c0957600080fd5b610c1282610bdb565b9392505050565b60008060408385031215610c2c57600080fd5b610c3583610bdb565b9150610c4360208401610bdb565b90509250929050565b600060208284031215610c5e57600080fd5b5035919050565b600060208284031215610c7757600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b600060208284031215610ca957600080fd5b81518015158114610c1257600080fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610ce257610ce2610cb9565b92915050565b60006020808352835160808285015280518060a086015260005b81811015610d1e5782810184015186820160c001528301610d02565b50600060c08287010152918501516001600160a01b0381166040860152916040860151606086810191909152909501516080850152505050601f91909101601f19160160c00190565b80820180821115610ce257610ce2610cb9565b6000816000190483118215151615610d9457610d94610cb9565b50029056fea2646970667358221220e0ea2019c5695e439e7780f0ae68aaa57f6a16b884970224f812dc8786b0446764736f6c63430008100033";
252
+ "0x6101206040523480156200001257600080fd5b506040516200142038038062001420833981016040819052620000359162000078565b6001600160a01b0393841660805291831660c052821660e052166101005261012c60a052620000e0565b6001600160a01b03811681146200007557600080fd5b50565b600080600080608085870312156200008f57600080fd5b84516200009c816200005f565b6020860151909450620000af816200005f565b6040860151909350620000c2816200005f565b6060860151909250620000d5816200005f565b939692955090935050565b60805160a05160c05160e0516101005161126f620001b1600039600081816101a60152818161049e015261057c015260008181610213015281816105cd015281816108860152610c7d015260008181610102015281816104cf015281816105ab015281816106ba0152818161074f0152818161079e0152818161084e015281816109ae01528181610a580152610c4501526000818161027a015281816104f101526105ef0152600081816102c3015281816107cb0152818161090601528181610b9a0152610cfd015261126f6000f3fe6080604052600436106100a65760003560e01c8063051ed8ef146100b25780630c577bdc146100f05780630cd865ec14610124578063130acf441461014657806377e9acd9146101745780637dc0d1d0146101945780638da5cb5b146101c857806394b918de146101ee578063a5e598fc14610201578063c3683d0a14610235578063c4d66de814610248578063f620732614610268578063f887ea40146102b157600080fd5b366100ad57005b600080fd5b3480156100be57600080fd5b506100da73471ece3750da237f93b8e339c536989b8978a43881565b6040516100e79190610f25565b60405180910390f35b3480156100fc57600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561013057600080fd5b5061014461013f366004610f4e565b6102e5565b005b34801561015257600080fd5b50610166610161366004610f72565b61045e565b6040519081526020016100e7565b34801561018057600080fd5b5061014461018f366004610fa2565b610681565b3480156101a057600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b3480156101d457600080fd5b506000546100da906201000090046001600160a01b031681565b6101446101fc366004610fa2565b610a31565b34801561020d57600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b610144610243366004610fa2565b610af8565b34801561025457600080fd5b50610144610263366004610f4e565b610dfa565b34801561027457600080fd5b5061029c7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100e7565b3480156102bd57600080fd5b506100da7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166103775760008054604051620100009091046001600160a01b03169047908381818185875af1925050503d8060008114610345576040519150601f19603f3d011682016040523d82523d6000602084013e61034a565b606091505b50509050806103735760405163e2a1cc9160e01b81524760048201526024015b60405180910390fd5b5050565b6000546040516370a0823160e01b81526001600160a01b038084169263a9059cbb92620100009091049091169083906370a08231906103ba903090600401610f25565b602060405180830381865afa1580156103d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fb9190610fbb565b6040518363ffffffff1660e01b8152600401610418929190610fd4565b6020604051808303816000875af1158015610437573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103739190610fed565b50565b6000828173471ece3750da237f93b8e339c536989b8978a437196001600160a01b0385160161056557604051630757bc8160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630757bc819061051990859088907f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000009060040161100f565b600060405180830381865afa158015610536573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261055e919081019061106b565b5091508190505b604051630757bc8160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630757bc81906106179085907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000009060040161100f565b600060405180830381865afa158015610634573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065c919081019061106b565b509050606461066c82605f611153565b6106769190611172565b925050505b92915050565b600080546201000090046001600160a01b031633036106a15760006106ab565b67016345785d8a00005b6001600160401b0316905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016107049190610f25565b602060405180830381865afa158015610721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107459190610fbb565b90506000610773827f000000000000000000000000000000000000000000000000000000000000000061045e565b90508084116107825780610784565b835b60405163095ea7b360e01b81529094506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906107f5907f0000000000000000000000000000000000000000000000000000000000000000908690600401610fd4565b6020604051808303816000875af1158015610814573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108389190610fed565b50604080516080810182526001600160601b03197f0000000000000000000000000000000000000000000000000000000000000000606090811b821660a084015261027160ec1b60b48401527f0000000000000000000000000000000000000000000000000000000000000000901b1660b7820152815180820360ab01815260cb820183528152600080546201000090046001600160a01b031660208301529181016108e48686611194565b815260200186905260405163b858183f60e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b858183f9061093b9084906004016111a7565b6020604051808303816000875af115801561095a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097e9190610fbb565b506000546201000090046001600160a01b03163314610a2a5760405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906109e59033908890600401610fd4565b6020604051808303816000875af1158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190610fed565b505b5050505050565b478015610a415761037382610af8565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610a8d903090600401610f25565b602060405180830381865afa158015610aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ace9190610fbb565b90508015610adf5761037382610681565b60405163701b93d160e11b815260040160405180910390fd5b600080546201000090046001600160a01b03163314610b3157610b1f48633b9aca00611226565b610b2c9062061a80611153565b610b34565b60005b9050476000610b578273471ece3750da237f93b8e339c536989b8978a43861045e565b9050808411610b665780610b68565b835b60405163095ea7b360e01b815290945073471ece3750da237f93b8e339c536989b8978a4389063095ea7b390610bc4907f0000000000000000000000000000000000000000000000000000000000000000908690600401610fd4565b6020604051808303816000875af1158015610be3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c079190610fed565b50604080516080810182527308e3d9c6ea1b446ff2771c6738a6d313712f148760631b60a082015261017760eb1b60b48201526001600160601b03197f0000000000000000000000000000000000000000000000000000000000000000606090811b821660b784015261027160ec1b60cb8401527f0000000000000000000000000000000000000000000000000000000000000000901b1660ce820152815180820360c201815260e2820183528152600080546201000090046001600160a01b03166020830152918101610cdb8686611194565b815260200186905260405163b858183f60e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b858183f90610d329084906004016111a7565b6020604051808303816000875af1158015610d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d759190610fbb565b506000546201000090046001600160a01b03163314610a2a57604051600090339086908381818185875af1925050503d8060008114610dd0576040519150601f19603f3d011682016040523d82523d6000602084013e610dd5565b606091505b5050905080610a285760405163e2a1cc9160e01b81526004810186905260240161036a565b600054610100900460ff1615808015610e1a5750600054600160ff909116105b80610e345750303b158015610e34575060005460ff166001145b610e975760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161036a565b6000805460ff191660011790558015610eba576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015610373576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461045b57600080fd5b600060208284031215610f6057600080fd5b8135610f6b81610f39565b9392505050565b60008060408385031215610f8557600080fd5b823591506020830135610f9781610f39565b809150509250929050565b600060208284031215610fb457600080fd5b5035919050565b600060208284031215610fcd57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b600060208284031215610fff57600080fd5b81518015158114610f6b57600080fd5b6001600160801b039490941684526001600160a01b0392831660208501529116604083015263ffffffff16606082015260800190565b634e487b7160e01b600052604160045260246000fd5b805161106681610f39565b919050565b6000806040838503121561107e57600080fd5b8251602080850151919350906001600160401b038082111561109f57600080fd5b818601915086601f8301126110b357600080fd5b8151818111156110c5576110c5611045565b8060051b604051601f19603f830116810181811085821117156110ea576110ea611045565b60405291825284820192508381018501918983111561110857600080fd5b938501935b8285101561112d5761111e8561105b565b8452938501939285019261110d565b8096505050505050509250929050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561116d5761116d61113d565b500290565b60008261118f57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561067b5761067b61113d565b60006020808352835160808285015280518060a086015260005b818110156111dd5782810184015186820160c0015283016111c1565b50600060c08287010152918501516001600160a01b0381166040860152916040860151606086810191909152909501516080850152505050601f91909101601f19160160c00190565b8082018082111561067b5761067b61113d56fea2646970667358221220ba1dccba0e8d51fbfd40d3cf5d797df82a47de3edf9b7e2205bd7bb17f7eb92864736f6c63430008100033";
209
253
 
210
254
  type BuyGDCloneConstructorParams =
211
255
  | [signer?: Signer]
@@ -228,12 +272,14 @@ export class BuyGDClone__factory extends ContractFactory {
228
272
  _router: string,
229
273
  _cusd: string,
230
274
  _gd: string,
275
+ _oracle: string,
231
276
  overrides?: Overrides & { from?: string | Promise<string> }
232
277
  ): Promise<BuyGDClone> {
233
278
  return super.deploy(
234
279
  _router,
235
280
  _cusd,
236
281
  _gd,
282
+ _oracle,
237
283
  overrides || {}
238
284
  ) as Promise<BuyGDClone>;
239
285
  }
@@ -241,9 +287,16 @@ export class BuyGDClone__factory extends ContractFactory {
241
287
  _router: string,
242
288
  _cusd: string,
243
289
  _gd: string,
290
+ _oracle: string,
244
291
  overrides?: Overrides & { from?: string | Promise<string> }
245
292
  ): TransactionRequest {
246
- return super.getDeployTransaction(_router, _cusd, _gd, overrides || {});
293
+ return super.getDeployTransaction(
294
+ _router,
295
+ _cusd,
296
+ _gd,
297
+ _oracle,
298
+ overrides || {}
299
+ );
247
300
  }
248
301
  attach(address: string): BuyGDClone {
249
302
  return super.attach(address) as BuyGDClone;