@gooddollar/goodprotocol 2.1.0 → 2.1.2

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 (113) hide show
  1. package/README.md +12 -0
  2. package/artifacts/abis/AdminWallet.min.json +1 -1
  3. package/artifacts/abis/AdminWalletFuse.min.json +1 -1
  4. package/artifacts/abis/GenericDistributionHelperTest.min.json +1 -0
  5. package/artifacts/abis/GenericDistributionHelperTestHelper.min.json +1 -0
  6. package/artifacts/abis/IBancorExchangeProvider.min.json +1 -1
  7. package/artifacts/abis/IUniswapV3Pool.min.json +1 -1
  8. package/artifacts/abis/IdentityV3.min.json +1 -1
  9. package/artifacts/abis/MentoExchange.min.json +1 -1
  10. package/artifacts/abis/UpdateReserveRatioAfterXDC.min.json +1 -0
  11. package/artifacts/contracts/IUniswapV3.sol/INonfungiblePositionManager.dbg.json +1 -1
  12. package/artifacts/contracts/IUniswapV3.sol/IUniswapV3Pool.dbg.json +1 -1
  13. package/artifacts/contracts/IUniswapV3.sol/IUniswapV3Pool.json +13 -0
  14. package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.dbg.json +1 -1
  15. package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.json +13 -0
  16. package/artifacts/contracts/MentoInterfaces.sol/IBroker.dbg.json +1 -1
  17. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider.dbg.json +1 -1
  18. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExpansionController.dbg.json +1 -1
  19. package/artifacts/contracts/MentoInterfaces.sol/IMentoReserve.dbg.json +1 -1
  20. package/artifacts/contracts/MentoInterfaces.sol/ITradingLimits.dbg.json +1 -1
  21. package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.dbg.json +1 -1
  22. package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.json +40 -2
  23. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest.dbg.json +4 -0
  24. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest.json +931 -0
  25. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper.dbg.json +4 -0
  26. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper.json +957 -0
  27. package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.dbg.json +1 -1
  28. package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.json +2 -2
  29. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  30. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +36 -2
  31. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
  32. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.json +36 -2
  33. package/artifacts/contracts/utils/BulkWhitelist.sol/BulkWhitelist.dbg.json +1 -1
  34. package/artifacts/contracts/utils/BulkWhitelist.sol/BulkWhitelist.json +2 -2
  35. package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.dbg.json +1 -1
  36. package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.json +2 -2
  37. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
  38. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
  39. package/artifacts/contracts/utils/BuyGDClone.sol/DonateGDClone.dbg.json +1 -1
  40. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange.dbg.json +1 -1
  41. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.dbg.json +1 -1
  42. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.json +2 -2
  43. package/artifacts/contracts/utils/UpdateReserveRatioAfterXDC.sol/MentoExchange.dbg.json +4 -0
  44. package/artifacts/contracts/utils/UpdateReserveRatioAfterXDC.sol/MentoExchange.json +24 -0
  45. package/artifacts/contracts/utils/UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC.dbg.json +4 -0
  46. package/artifacts/contracts/utils/UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC.json +50 -0
  47. package/contracts/IUniswapV3.sol +2 -0
  48. package/contracts/identity/IdentityV3.sol +2 -0
  49. package/contracts/mocks/GenericDistributionHelperTest.sol +31 -0
  50. package/contracts/reserve/GenericDistributionHelper.sol +43 -21
  51. package/contracts/utils/AdminWallet.sol +27 -0
  52. package/contracts/utils/AdminWalletFuse.sol +27 -0
  53. package/contracts/utils/UpdateReserveRatioAfterXDC.sol +64 -0
  54. package/hardhat.config.ts +9 -12
  55. package/package.json +3 -2
  56. package/releases/deployment.json +4 -1
  57. package/scripts/bulkWhitelist.ts +31 -0
  58. package/scripts/multichain-deploy/helpers.ts +13 -6
  59. package/scripts/proposals/gip-25-xdc-deploy-reserve.ts +425 -0
  60. package/scripts/proposals/gip-25-xdc-upgrade-ubi.ts +334 -31
  61. package/test/governance/ClaimersDistribution.test.ts +1 -1
  62. package/test/reserve/GenericDistributionHelper.test.ts +315 -0
  63. package/test/ubi/UBISchemeCycle.test.ts +30 -63
  64. package/types/contracts/IUniswapV3.sol/IUniswapV3Pool.ts +14 -1
  65. package/types/contracts/MentoInterfaces.sol/IBancorExchangeProvider.ts +14 -0
  66. package/types/contracts/fuseFaucet/Faucet copy.sol/DebugFaucet.ts +1439 -0
  67. package/types/contracts/fuseFaucet/Faucet copy.sol/index.ts +4 -0
  68. package/types/contracts/identity/IdentityV3.ts +46 -0
  69. package/types/contracts/index.ts +0 -2
  70. package/types/contracts/mocks/GenericDistributionHelperTest.sol/CeloDistributionHelperTestHelper.ts +1357 -0
  71. package/types/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest.ts +1305 -0
  72. package/types/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper.ts +1357 -0
  73. package/types/contracts/mocks/GenericDistributionHelperTest.sol/index.ts +5 -0
  74. package/types/contracts/mocks/index.ts +2 -0
  75. package/types/contracts/utils/AdminWallet.ts +45 -0
  76. package/types/contracts/utils/AdminWalletFuse.ts +45 -0
  77. package/types/contracts/utils/BuyGDClone.sol/BuyGDCloneV2.ts +464 -0
  78. package/types/contracts/utils/UpdateReserveRatioAfterXDC.sol/MentoExchange.ts +81 -0
  79. package/types/contracts/utils/UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC.ts +117 -0
  80. package/types/contracts/utils/UpdateReserveRatioAfterXDC.sol/index.ts +5 -0
  81. package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/MentoExchange.ts +81 -0
  82. package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/UpdateReserveRatioAfterXDC.ts +122 -0
  83. package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/index.ts +5 -0
  84. package/types/contracts/utils/index.ts +4 -0
  85. package/types/factories/contracts/IUniswapV3.sol/IUniswapV3Pool__factory.ts +13 -0
  86. package/types/factories/contracts/MentoInterfaces.sol/IBancorExchangeProvider__factory.ts +13 -0
  87. package/types/factories/contracts/fuseFaucet/Faucet copy.sol/DebugFaucet__factory.ts +945 -0
  88. package/types/factories/contracts/fuseFaucet/Faucet copy.sol/index.ts +4 -0
  89. package/types/factories/contracts/identity/IdentityV3__factory.ts +39 -1
  90. package/types/factories/contracts/index.ts +0 -1
  91. package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/CeloDistributionHelperTestHelper__factory.ts +1017 -0
  92. package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper__factory.ts +1021 -0
  93. package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest__factory.ts +989 -0
  94. package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/index.ts +5 -0
  95. package/types/factories/contracts/mocks/index.ts +1 -0
  96. package/types/factories/contracts/reserve/GenericDistributionHelper__factory.ts +1 -1
  97. package/types/factories/contracts/utils/AdminWalletFuse__factory.ts +35 -1
  98. package/types/factories/contracts/utils/AdminWallet__factory.ts +35 -1
  99. package/types/factories/contracts/utils/BulkWhitelist__factory.ts +1 -1
  100. package/types/factories/contracts/utils/BuyFromReserveHelper__factory.ts +1 -1
  101. package/types/factories/contracts/utils/BuyGDClone.sol/BuyGDCloneV2__factory.ts +415 -0
  102. package/types/factories/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento__factory.ts +1 -1
  103. package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/MentoExchange__factory.ts +39 -0
  104. package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC__factory.ts +110 -0
  105. package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/index.ts +5 -0
  106. package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/MentoExchange__factory.ts +39 -0
  107. package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/UpdateReserveRatioAfterXDC__factory.ts +115 -0
  108. package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/index.ts +5 -0
  109. package/types/factories/contracts/utils/index.ts +2 -0
  110. package/types/hardhat.d.ts +54 -9
  111. package/types/index.ts +6 -0
  112. package/artifacts/contracts/IQuoter.sol/IQuoterV2.dbg.json +0 -4
  113. package/artifacts/contracts/IQuoter.sol/IQuoterV2.json +0 -211
@@ -0,0 +1,5 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export type { GenericDistributionHelperTest } from "./GenericDistributionHelperTest";
5
+ export type { GenericDistributionHelperTestHelper } from "./GenericDistributionHelperTestHelper";
@@ -9,6 +9,8 @@ import type * as distributionHelperTestSol from "./DistributionHelperTest.sol";
9
9
  export type { distributionHelperTestSol };
10
10
  import type * as feesFormularMockSol from "./FeesFormularMock.sol";
11
11
  export type { feesFormularMockSol };
12
+ import type * as genericDistributionHelperTestSol from "./GenericDistributionHelperTest.sol";
13
+ export type { genericDistributionHelperTestSol };
12
14
  import type * as multichainRouterMockSol from "./MultichainRouterMock.sol";
13
15
  export type { multichainRouterMockSol };
14
16
  import type * as overMintTesterSol from "./OverMintTester.sol";
@@ -37,6 +37,7 @@ export interface AdminWalletInterface extends utils.Interface {
37
37
  "day()": FunctionFragment;
38
38
  "gasPrice()": FunctionFragment;
39
39
  "genericCall(address,bytes,uint256)": FunctionFragment;
40
+ "genericCallBatch(address[],bytes[],uint256[])": FunctionFragment;
40
41
  "getIdentity()": FunctionFragment;
41
42
  "getRoleAdmin(bytes32)": FunctionFragment;
42
43
  "grantRole(bytes32,address)": FunctionFragment;
@@ -75,6 +76,7 @@ export interface AdminWalletInterface extends utils.Interface {
75
76
  | "day"
76
77
  | "gasPrice"
77
78
  | "genericCall"
79
+ | "genericCallBatch"
78
80
  | "getIdentity"
79
81
  | "getRoleAdmin"
80
82
  | "grantRole"
@@ -123,6 +125,10 @@ export interface AdminWalletInterface extends utils.Interface {
123
125
  functionFragment: "genericCall",
124
126
  values: [string, BytesLike, BigNumberish]
125
127
  ): string;
128
+ encodeFunctionData(
129
+ functionFragment: "genericCallBatch",
130
+ values: [string[], BytesLike[], BigNumberish[]]
131
+ ): string;
126
132
  encodeFunctionData(
127
133
  functionFragment: "getIdentity",
128
134
  values?: undefined
@@ -239,6 +245,10 @@ export interface AdminWalletInterface extends utils.Interface {
239
245
  functionFragment: "genericCall",
240
246
  data: BytesLike
241
247
  ): Result;
248
+ decodeFunctionResult(
249
+ functionFragment: "genericCallBatch",
250
+ data: BytesLike
251
+ ): Result;
242
252
  decodeFunctionResult(
243
253
  functionFragment: "getIdentity",
244
254
  data: BytesLike
@@ -517,6 +527,13 @@ export interface AdminWallet extends BaseContract {
517
527
  overrides?: Overrides & { from?: string }
518
528
  ): Promise<ContractTransaction>;
519
529
 
530
+ genericCallBatch(
531
+ _contracts: string[],
532
+ _datas: BytesLike[],
533
+ _values: BigNumberish[],
534
+ overrides?: Overrides & { from?: string }
535
+ ): Promise<ContractTransaction>;
536
+
520
537
  getIdentity(overrides?: CallOverrides): Promise<[string]>;
521
538
 
522
539
  getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>;
@@ -667,6 +684,13 @@ export interface AdminWallet extends BaseContract {
667
684
  overrides?: Overrides & { from?: string }
668
685
  ): Promise<ContractTransaction>;
669
686
 
687
+ genericCallBatch(
688
+ _contracts: string[],
689
+ _datas: BytesLike[],
690
+ _values: BigNumberish[],
691
+ overrides?: Overrides & { from?: string }
692
+ ): Promise<ContractTransaction>;
693
+
670
694
  getIdentity(overrides?: CallOverrides): Promise<string>;
671
695
 
672
696
  getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
@@ -808,6 +832,13 @@ export interface AdminWallet extends BaseContract {
808
832
  overrides?: CallOverrides
809
833
  ): Promise<[boolean, string] & { success: boolean; returnValue: string }>;
810
834
 
835
+ genericCallBatch(
836
+ _contracts: string[],
837
+ _datas: BytesLike[],
838
+ _values: BigNumberish[],
839
+ overrides?: CallOverrides
840
+ ): Promise<[boolean, string] & { success: boolean; returnValue: string }>;
841
+
811
842
  getIdentity(overrides?: CallOverrides): Promise<string>;
812
843
 
813
844
  getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
@@ -1026,6 +1057,13 @@ export interface AdminWallet extends BaseContract {
1026
1057
  overrides?: Overrides & { from?: string }
1027
1058
  ): Promise<BigNumber>;
1028
1059
 
1060
+ genericCallBatch(
1061
+ _contracts: string[],
1062
+ _datas: BytesLike[],
1063
+ _values: BigNumberish[],
1064
+ overrides?: Overrides & { from?: string }
1065
+ ): Promise<BigNumber>;
1066
+
1029
1067
  getIdentity(overrides?: CallOverrides): Promise<BigNumber>;
1030
1068
 
1031
1069
  getRoleAdmin(
@@ -1181,6 +1219,13 @@ export interface AdminWallet extends BaseContract {
1181
1219
  overrides?: Overrides & { from?: string }
1182
1220
  ): Promise<PopulatedTransaction>;
1183
1221
 
1222
+ genericCallBatch(
1223
+ _contracts: string[],
1224
+ _datas: BytesLike[],
1225
+ _values: BigNumberish[],
1226
+ overrides?: Overrides & { from?: string }
1227
+ ): Promise<PopulatedTransaction>;
1228
+
1184
1229
  getIdentity(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1185
1230
 
1186
1231
  getRoleAdmin(
@@ -38,6 +38,7 @@ export interface AdminWalletFuseInterface extends utils.Interface {
38
38
  "gasPrice()": FunctionFragment;
39
39
  "gd()": FunctionFragment;
40
40
  "genericCall(address,bytes,uint256)": FunctionFragment;
41
+ "genericCallBatch(address[],bytes[],uint256[])": FunctionFragment;
41
42
  "getIdentity()": FunctionFragment;
42
43
  "getRoleAdmin(bytes32)": FunctionFragment;
43
44
  "grantRole(bytes32,address)": FunctionFragment;
@@ -82,6 +83,7 @@ export interface AdminWalletFuseInterface extends utils.Interface {
82
83
  | "gasPrice"
83
84
  | "gd"
84
85
  | "genericCall"
86
+ | "genericCallBatch"
85
87
  | "getIdentity"
86
88
  | "getRoleAdmin"
87
89
  | "grantRole"
@@ -136,6 +138,10 @@ export interface AdminWalletFuseInterface extends utils.Interface {
136
138
  functionFragment: "genericCall",
137
139
  values: [string, BytesLike, BigNumberish]
138
140
  ): string;
141
+ encodeFunctionData(
142
+ functionFragment: "genericCallBatch",
143
+ values: [string[], BytesLike[], BigNumberish[]]
144
+ ): string;
139
145
  encodeFunctionData(
140
146
  functionFragment: "getIdentity",
141
147
  values?: undefined
@@ -264,6 +270,10 @@ export interface AdminWalletFuseInterface extends utils.Interface {
264
270
  functionFragment: "genericCall",
265
271
  data: BytesLike
266
272
  ): Result;
273
+ decodeFunctionResult(
274
+ functionFragment: "genericCallBatch",
275
+ data: BytesLike
276
+ ): Result;
267
277
  decodeFunctionResult(
268
278
  functionFragment: "getIdentity",
269
279
  data: BytesLike
@@ -569,6 +579,13 @@ export interface AdminWalletFuse extends BaseContract {
569
579
  overrides?: Overrides & { from?: string }
570
580
  ): Promise<ContractTransaction>;
571
581
 
582
+ genericCallBatch(
583
+ _contracts: string[],
584
+ _datas: BytesLike[],
585
+ _values: BigNumberish[],
586
+ overrides?: Overrides & { from?: string }
587
+ ): Promise<ContractTransaction>;
588
+
572
589
  getIdentity(overrides?: CallOverrides): Promise<[string]>;
573
590
 
574
591
  getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>;
@@ -738,6 +755,13 @@ export interface AdminWalletFuse extends BaseContract {
738
755
  overrides?: Overrides & { from?: string }
739
756
  ): Promise<ContractTransaction>;
740
757
 
758
+ genericCallBatch(
759
+ _contracts: string[],
760
+ _datas: BytesLike[],
761
+ _values: BigNumberish[],
762
+ overrides?: Overrides & { from?: string }
763
+ ): Promise<ContractTransaction>;
764
+
741
765
  getIdentity(overrides?: CallOverrides): Promise<string>;
742
766
 
743
767
  getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
@@ -898,6 +922,13 @@ export interface AdminWalletFuse extends BaseContract {
898
922
  overrides?: CallOverrides
899
923
  ): Promise<[boolean, string] & { success: boolean; returnValue: string }>;
900
924
 
925
+ genericCallBatch(
926
+ _contracts: string[],
927
+ _datas: BytesLike[],
928
+ _values: BigNumberish[],
929
+ overrides?: CallOverrides
930
+ ): Promise<[boolean, string] & { success: boolean; returnValue: string }>;
931
+
901
932
  getIdentity(overrides?: CallOverrides): Promise<string>;
902
933
 
903
934
  getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>;
@@ -1140,6 +1171,13 @@ export interface AdminWalletFuse extends BaseContract {
1140
1171
  overrides?: Overrides & { from?: string }
1141
1172
  ): Promise<BigNumber>;
1142
1173
 
1174
+ genericCallBatch(
1175
+ _contracts: string[],
1176
+ _datas: BytesLike[],
1177
+ _values: BigNumberish[],
1178
+ overrides?: Overrides & { from?: string }
1179
+ ): Promise<BigNumber>;
1180
+
1143
1181
  getIdentity(overrides?: CallOverrides): Promise<BigNumber>;
1144
1182
 
1145
1183
  getRoleAdmin(
@@ -1312,6 +1350,13 @@ export interface AdminWalletFuse extends BaseContract {
1312
1350
  overrides?: Overrides & { from?: string }
1313
1351
  ): Promise<PopulatedTransaction>;
1314
1352
 
1353
+ genericCallBatch(
1354
+ _contracts: string[],
1355
+ _datas: BytesLike[],
1356
+ _values: BigNumberish[],
1357
+ overrides?: Overrides & { from?: string }
1358
+ ): Promise<PopulatedTransaction>;
1359
+
1315
1360
  getIdentity(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1316
1361
 
1317
1362
  getRoleAdmin(
@@ -0,0 +1,464 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type {
5
+ BaseContract,
6
+ BigNumber,
7
+ BigNumberish,
8
+ BytesLike,
9
+ CallOverrides,
10
+ ContractTransaction,
11
+ Overrides,
12
+ PayableOverrides,
13
+ PopulatedTransaction,
14
+ Signer,
15
+ utils,
16
+ } from "ethers";
17
+ import type {
18
+ FunctionFragment,
19
+ Result,
20
+ EventFragment,
21
+ } from "@ethersproject/abi";
22
+ import type { Listener, Provider } from "@ethersproject/providers";
23
+ import type {
24
+ TypedEventFilter,
25
+ TypedEvent,
26
+ TypedListener,
27
+ OnEvent,
28
+ } from "../../../common";
29
+
30
+ export interface BuyGDCloneV2Interface extends utils.Interface {
31
+ functions: {
32
+ "CUSD()": FunctionFragment;
33
+ "GD_FEE_TIER()": FunctionFragment;
34
+ "celo()": FunctionFragment;
35
+ "gd()": FunctionFragment;
36
+ "initialize(address)": FunctionFragment;
37
+ "minAmountByTWAP(uint256,address,uint32)": FunctionFragment;
38
+ "oracle()": FunctionFragment;
39
+ "owner()": FunctionFragment;
40
+ "recover(address)": FunctionFragment;
41
+ "router()": FunctionFragment;
42
+ "stable()": FunctionFragment;
43
+ "swap(uint256,address)": FunctionFragment;
44
+ "swapCelo(uint256,address)": FunctionFragment;
45
+ "swapCusd(uint256,address)": FunctionFragment;
46
+ "twapPeriod()": FunctionFragment;
47
+ };
48
+
49
+ getFunction(
50
+ nameOrSignatureOrTopic:
51
+ | "CUSD"
52
+ | "GD_FEE_TIER"
53
+ | "celo"
54
+ | "gd"
55
+ | "initialize"
56
+ | "minAmountByTWAP"
57
+ | "oracle"
58
+ | "owner"
59
+ | "recover"
60
+ | "router"
61
+ | "stable"
62
+ | "swap"
63
+ | "swapCelo"
64
+ | "swapCusd"
65
+ | "twapPeriod"
66
+ ): FunctionFragment;
67
+
68
+ encodeFunctionData(functionFragment: "CUSD", values?: undefined): string;
69
+ encodeFunctionData(
70
+ functionFragment: "GD_FEE_TIER",
71
+ values?: undefined
72
+ ): string;
73
+ encodeFunctionData(functionFragment: "celo", values?: undefined): string;
74
+ encodeFunctionData(functionFragment: "gd", values?: undefined): string;
75
+ encodeFunctionData(functionFragment: "initialize", values: [string]): string;
76
+ encodeFunctionData(
77
+ functionFragment: "minAmountByTWAP",
78
+ values: [BigNumberish, string, BigNumberish]
79
+ ): string;
80
+ encodeFunctionData(functionFragment: "oracle", values?: undefined): string;
81
+ encodeFunctionData(functionFragment: "owner", values?: undefined): string;
82
+ encodeFunctionData(functionFragment: "recover", values: [string]): string;
83
+ encodeFunctionData(functionFragment: "router", values?: undefined): string;
84
+ encodeFunctionData(functionFragment: "stable", values?: undefined): string;
85
+ encodeFunctionData(
86
+ functionFragment: "swap",
87
+ values: [BigNumberish, string]
88
+ ): string;
89
+ encodeFunctionData(
90
+ functionFragment: "swapCelo",
91
+ values: [BigNumberish, string]
92
+ ): string;
93
+ encodeFunctionData(
94
+ functionFragment: "swapCusd",
95
+ values: [BigNumberish, string]
96
+ ): string;
97
+ encodeFunctionData(
98
+ functionFragment: "twapPeriod",
99
+ values?: undefined
100
+ ): string;
101
+
102
+ decodeFunctionResult(functionFragment: "CUSD", data: BytesLike): Result;
103
+ decodeFunctionResult(
104
+ functionFragment: "GD_FEE_TIER",
105
+ data: BytesLike
106
+ ): Result;
107
+ decodeFunctionResult(functionFragment: "celo", data: BytesLike): Result;
108
+ decodeFunctionResult(functionFragment: "gd", data: BytesLike): Result;
109
+ decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
110
+ decodeFunctionResult(
111
+ functionFragment: "minAmountByTWAP",
112
+ data: BytesLike
113
+ ): Result;
114
+ decodeFunctionResult(functionFragment: "oracle", data: BytesLike): Result;
115
+ decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
116
+ decodeFunctionResult(functionFragment: "recover", data: BytesLike): Result;
117
+ decodeFunctionResult(functionFragment: "router", data: BytesLike): Result;
118
+ decodeFunctionResult(functionFragment: "stable", data: BytesLike): Result;
119
+ decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result;
120
+ decodeFunctionResult(functionFragment: "swapCelo", data: BytesLike): Result;
121
+ decodeFunctionResult(functionFragment: "swapCusd", data: BytesLike): Result;
122
+ decodeFunctionResult(functionFragment: "twapPeriod", data: BytesLike): Result;
123
+
124
+ events: {
125
+ "Bought(address,uint256,uint256)": EventFragment;
126
+ "Initialized(uint8)": EventFragment;
127
+ };
128
+
129
+ getEvent(nameOrSignatureOrTopic: "Bought"): EventFragment;
130
+ getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
131
+ }
132
+
133
+ export interface BoughtEventObject {
134
+ inToken: string;
135
+ inAmount: BigNumber;
136
+ outAmount: BigNumber;
137
+ }
138
+ export type BoughtEvent = TypedEvent<
139
+ [string, BigNumber, BigNumber],
140
+ BoughtEventObject
141
+ >;
142
+
143
+ export type BoughtEventFilter = TypedEventFilter<BoughtEvent>;
144
+
145
+ export interface InitializedEventObject {
146
+ version: number;
147
+ }
148
+ export type InitializedEvent = TypedEvent<[number], InitializedEventObject>;
149
+
150
+ export type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
151
+
152
+ export interface BuyGDCloneV2 extends BaseContract {
153
+ connect(signerOrProvider: Signer | Provider | string): this;
154
+ attach(addressOrName: string): this;
155
+ deployed(): Promise<this>;
156
+
157
+ interface: BuyGDCloneV2Interface;
158
+
159
+ queryFilter<TEvent extends TypedEvent>(
160
+ event: TypedEventFilter<TEvent>,
161
+ fromBlockOrBlockhash?: string | number | undefined,
162
+ toBlock?: string | number | undefined
163
+ ): Promise<Array<TEvent>>;
164
+
165
+ listeners<TEvent extends TypedEvent>(
166
+ eventFilter?: TypedEventFilter<TEvent>
167
+ ): Array<TypedListener<TEvent>>;
168
+ listeners(eventName?: string): Array<Listener>;
169
+ removeAllListeners<TEvent extends TypedEvent>(
170
+ eventFilter: TypedEventFilter<TEvent>
171
+ ): this;
172
+ removeAllListeners(eventName?: string): this;
173
+ off: OnEvent<this>;
174
+ on: OnEvent<this>;
175
+ once: OnEvent<this>;
176
+ removeListener: OnEvent<this>;
177
+
178
+ functions: {
179
+ CUSD(overrides?: CallOverrides): Promise<[string]>;
180
+
181
+ GD_FEE_TIER(overrides?: CallOverrides): Promise<[number]>;
182
+
183
+ celo(overrides?: CallOverrides): Promise<[string]>;
184
+
185
+ gd(overrides?: CallOverrides): Promise<[string]>;
186
+
187
+ initialize(
188
+ _owner: string,
189
+ overrides?: Overrides & { from?: string }
190
+ ): Promise<ContractTransaction>;
191
+
192
+ minAmountByTWAP(
193
+ baseAmount: BigNumberish,
194
+ baseToken: string,
195
+ period: BigNumberish,
196
+ overrides?: CallOverrides
197
+ ): Promise<
198
+ [BigNumber, BigNumber] & { minTwap: BigNumber; quote: BigNumber }
199
+ >;
200
+
201
+ oracle(overrides?: CallOverrides): Promise<[string]>;
202
+
203
+ owner(overrides?: CallOverrides): Promise<[string]>;
204
+
205
+ recover(
206
+ token: string,
207
+ overrides?: Overrides & { from?: string }
208
+ ): Promise<ContractTransaction>;
209
+
210
+ router(overrides?: CallOverrides): Promise<[string]>;
211
+
212
+ stable(overrides?: CallOverrides): Promise<[string]>;
213
+
214
+ swap(
215
+ _minAmount: BigNumberish,
216
+ refundGas: string,
217
+ overrides?: PayableOverrides & { from?: string }
218
+ ): Promise<ContractTransaction>;
219
+
220
+ swapCelo(
221
+ _minAmount: BigNumberish,
222
+ refundGas: string,
223
+ overrides?: PayableOverrides & { from?: string }
224
+ ): Promise<ContractTransaction>;
225
+
226
+ swapCusd(
227
+ _minAmount: BigNumberish,
228
+ refundGas: string,
229
+ overrides?: Overrides & { from?: string }
230
+ ): Promise<ContractTransaction>;
231
+
232
+ twapPeriod(overrides?: CallOverrides): Promise<[number]>;
233
+ };
234
+
235
+ CUSD(overrides?: CallOverrides): Promise<string>;
236
+
237
+ GD_FEE_TIER(overrides?: CallOverrides): Promise<number>;
238
+
239
+ celo(overrides?: CallOverrides): Promise<string>;
240
+
241
+ gd(overrides?: CallOverrides): Promise<string>;
242
+
243
+ initialize(
244
+ _owner: string,
245
+ overrides?: Overrides & { from?: string }
246
+ ): Promise<ContractTransaction>;
247
+
248
+ minAmountByTWAP(
249
+ baseAmount: BigNumberish,
250
+ baseToken: string,
251
+ period: BigNumberish,
252
+ overrides?: CallOverrides
253
+ ): Promise<[BigNumber, BigNumber] & { minTwap: BigNumber; quote: BigNumber }>;
254
+
255
+ oracle(overrides?: CallOverrides): Promise<string>;
256
+
257
+ owner(overrides?: CallOverrides): Promise<string>;
258
+
259
+ recover(
260
+ token: string,
261
+ overrides?: Overrides & { from?: string }
262
+ ): Promise<ContractTransaction>;
263
+
264
+ router(overrides?: CallOverrides): Promise<string>;
265
+
266
+ stable(overrides?: CallOverrides): Promise<string>;
267
+
268
+ swap(
269
+ _minAmount: BigNumberish,
270
+ refundGas: string,
271
+ overrides?: PayableOverrides & { from?: string }
272
+ ): Promise<ContractTransaction>;
273
+
274
+ swapCelo(
275
+ _minAmount: BigNumberish,
276
+ refundGas: string,
277
+ overrides?: PayableOverrides & { from?: string }
278
+ ): Promise<ContractTransaction>;
279
+
280
+ swapCusd(
281
+ _minAmount: BigNumberish,
282
+ refundGas: string,
283
+ overrides?: Overrides & { from?: string }
284
+ ): Promise<ContractTransaction>;
285
+
286
+ twapPeriod(overrides?: CallOverrides): Promise<number>;
287
+
288
+ callStatic: {
289
+ CUSD(overrides?: CallOverrides): Promise<string>;
290
+
291
+ GD_FEE_TIER(overrides?: CallOverrides): Promise<number>;
292
+
293
+ celo(overrides?: CallOverrides): Promise<string>;
294
+
295
+ gd(overrides?: CallOverrides): Promise<string>;
296
+
297
+ initialize(_owner: string, overrides?: CallOverrides): Promise<void>;
298
+
299
+ minAmountByTWAP(
300
+ baseAmount: BigNumberish,
301
+ baseToken: string,
302
+ period: BigNumberish,
303
+ overrides?: CallOverrides
304
+ ): Promise<
305
+ [BigNumber, BigNumber] & { minTwap: BigNumber; quote: BigNumber }
306
+ >;
307
+
308
+ oracle(overrides?: CallOverrides): Promise<string>;
309
+
310
+ owner(overrides?: CallOverrides): Promise<string>;
311
+
312
+ recover(token: string, overrides?: CallOverrides): Promise<void>;
313
+
314
+ router(overrides?: CallOverrides): Promise<string>;
315
+
316
+ stable(overrides?: CallOverrides): Promise<string>;
317
+
318
+ swap(
319
+ _minAmount: BigNumberish,
320
+ refundGas: string,
321
+ overrides?: CallOverrides
322
+ ): Promise<BigNumber>;
323
+
324
+ swapCelo(
325
+ _minAmount: BigNumberish,
326
+ refundGas: string,
327
+ overrides?: CallOverrides
328
+ ): Promise<BigNumber>;
329
+
330
+ swapCusd(
331
+ _minAmount: BigNumberish,
332
+ refundGas: string,
333
+ overrides?: CallOverrides
334
+ ): Promise<BigNumber>;
335
+
336
+ twapPeriod(overrides?: CallOverrides): Promise<number>;
337
+ };
338
+
339
+ filters: {
340
+ "Bought(address,uint256,uint256)"(
341
+ inToken?: null,
342
+ inAmount?: null,
343
+ outAmount?: null
344
+ ): BoughtEventFilter;
345
+ Bought(
346
+ inToken?: null,
347
+ inAmount?: null,
348
+ outAmount?: null
349
+ ): BoughtEventFilter;
350
+
351
+ "Initialized(uint8)"(version?: null): InitializedEventFilter;
352
+ Initialized(version?: null): InitializedEventFilter;
353
+ };
354
+
355
+ estimateGas: {
356
+ CUSD(overrides?: CallOverrides): Promise<BigNumber>;
357
+
358
+ GD_FEE_TIER(overrides?: CallOverrides): Promise<BigNumber>;
359
+
360
+ celo(overrides?: CallOverrides): Promise<BigNumber>;
361
+
362
+ gd(overrides?: CallOverrides): Promise<BigNumber>;
363
+
364
+ initialize(
365
+ _owner: string,
366
+ overrides?: Overrides & { from?: string }
367
+ ): Promise<BigNumber>;
368
+
369
+ minAmountByTWAP(
370
+ baseAmount: BigNumberish,
371
+ baseToken: string,
372
+ period: BigNumberish,
373
+ overrides?: CallOverrides
374
+ ): Promise<BigNumber>;
375
+
376
+ oracle(overrides?: CallOverrides): Promise<BigNumber>;
377
+
378
+ owner(overrides?: CallOverrides): Promise<BigNumber>;
379
+
380
+ recover(
381
+ token: string,
382
+ overrides?: Overrides & { from?: string }
383
+ ): Promise<BigNumber>;
384
+
385
+ router(overrides?: CallOverrides): Promise<BigNumber>;
386
+
387
+ stable(overrides?: CallOverrides): Promise<BigNumber>;
388
+
389
+ swap(
390
+ _minAmount: BigNumberish,
391
+ refundGas: string,
392
+ overrides?: PayableOverrides & { from?: string }
393
+ ): Promise<BigNumber>;
394
+
395
+ swapCelo(
396
+ _minAmount: BigNumberish,
397
+ refundGas: string,
398
+ overrides?: PayableOverrides & { from?: string }
399
+ ): Promise<BigNumber>;
400
+
401
+ swapCusd(
402
+ _minAmount: BigNumberish,
403
+ refundGas: string,
404
+ overrides?: Overrides & { from?: string }
405
+ ): Promise<BigNumber>;
406
+
407
+ twapPeriod(overrides?: CallOverrides): Promise<BigNumber>;
408
+ };
409
+
410
+ populateTransaction: {
411
+ CUSD(overrides?: CallOverrides): Promise<PopulatedTransaction>;
412
+
413
+ GD_FEE_TIER(overrides?: CallOverrides): Promise<PopulatedTransaction>;
414
+
415
+ celo(overrides?: CallOverrides): Promise<PopulatedTransaction>;
416
+
417
+ gd(overrides?: CallOverrides): Promise<PopulatedTransaction>;
418
+
419
+ initialize(
420
+ _owner: string,
421
+ overrides?: Overrides & { from?: string }
422
+ ): Promise<PopulatedTransaction>;
423
+
424
+ minAmountByTWAP(
425
+ baseAmount: BigNumberish,
426
+ baseToken: string,
427
+ period: BigNumberish,
428
+ overrides?: CallOverrides
429
+ ): Promise<PopulatedTransaction>;
430
+
431
+ oracle(overrides?: CallOverrides): Promise<PopulatedTransaction>;
432
+
433
+ owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
434
+
435
+ recover(
436
+ token: string,
437
+ overrides?: Overrides & { from?: string }
438
+ ): Promise<PopulatedTransaction>;
439
+
440
+ router(overrides?: CallOverrides): Promise<PopulatedTransaction>;
441
+
442
+ stable(overrides?: CallOverrides): Promise<PopulatedTransaction>;
443
+
444
+ swap(
445
+ _minAmount: BigNumberish,
446
+ refundGas: string,
447
+ overrides?: PayableOverrides & { from?: string }
448
+ ): Promise<PopulatedTransaction>;
449
+
450
+ swapCelo(
451
+ _minAmount: BigNumberish,
452
+ refundGas: string,
453
+ overrides?: PayableOverrides & { from?: string }
454
+ ): Promise<PopulatedTransaction>;
455
+
456
+ swapCusd(
457
+ _minAmount: BigNumberish,
458
+ refundGas: string,
459
+ overrides?: Overrides & { from?: string }
460
+ ): Promise<PopulatedTransaction>;
461
+
462
+ twapPeriod(overrides?: CallOverrides): Promise<PopulatedTransaction>;
463
+ };
464
+ }