@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,415 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type {
7
+ BuyGDCloneV2,
8
+ BuyGDCloneV2Interface,
9
+ } from "../../../../contracts/utils/BuyGDClone.sol/BuyGDCloneV2";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [
14
+ {
15
+ internalType: "contract ISwapRouter",
16
+ name: "_router",
17
+ type: "address",
18
+ },
19
+ {
20
+ internalType: "address",
21
+ name: "_stable",
22
+ type: "address",
23
+ },
24
+ {
25
+ internalType: "address",
26
+ name: "_gd",
27
+ type: "address",
28
+ },
29
+ {
30
+ internalType: "contract IStaticOracle",
31
+ name: "_oracle",
32
+ type: "address",
33
+ },
34
+ ],
35
+ stateMutability: "nonpayable",
36
+ type: "constructor",
37
+ },
38
+ {
39
+ inputs: [],
40
+ name: "NO_BALANCE",
41
+ type: "error",
42
+ },
43
+ {
44
+ inputs: [
45
+ {
46
+ internalType: "uint256",
47
+ name: "",
48
+ type: "uint256",
49
+ },
50
+ ],
51
+ name: "REFUND_FAILED",
52
+ type: "error",
53
+ },
54
+ {
55
+ anonymous: false,
56
+ inputs: [
57
+ {
58
+ indexed: false,
59
+ internalType: "address",
60
+ name: "inToken",
61
+ type: "address",
62
+ },
63
+ {
64
+ indexed: false,
65
+ internalType: "uint256",
66
+ name: "inAmount",
67
+ type: "uint256",
68
+ },
69
+ {
70
+ indexed: false,
71
+ internalType: "uint256",
72
+ name: "outAmount",
73
+ type: "uint256",
74
+ },
75
+ ],
76
+ name: "Bought",
77
+ type: "event",
78
+ },
79
+ {
80
+ anonymous: false,
81
+ inputs: [
82
+ {
83
+ indexed: false,
84
+ internalType: "uint8",
85
+ name: "version",
86
+ type: "uint8",
87
+ },
88
+ ],
89
+ name: "Initialized",
90
+ type: "event",
91
+ },
92
+ {
93
+ inputs: [],
94
+ name: "CUSD",
95
+ outputs: [
96
+ {
97
+ internalType: "address",
98
+ name: "",
99
+ type: "address",
100
+ },
101
+ ],
102
+ stateMutability: "view",
103
+ type: "function",
104
+ },
105
+ {
106
+ inputs: [],
107
+ name: "GD_FEE_TIER",
108
+ outputs: [
109
+ {
110
+ internalType: "uint24",
111
+ name: "",
112
+ type: "uint24",
113
+ },
114
+ ],
115
+ stateMutability: "view",
116
+ type: "function",
117
+ },
118
+ {
119
+ inputs: [],
120
+ name: "celo",
121
+ outputs: [
122
+ {
123
+ internalType: "address",
124
+ name: "",
125
+ type: "address",
126
+ },
127
+ ],
128
+ stateMutability: "view",
129
+ type: "function",
130
+ },
131
+ {
132
+ inputs: [],
133
+ name: "gd",
134
+ outputs: [
135
+ {
136
+ internalType: "address",
137
+ name: "",
138
+ type: "address",
139
+ },
140
+ ],
141
+ stateMutability: "view",
142
+ type: "function",
143
+ },
144
+ {
145
+ inputs: [
146
+ {
147
+ internalType: "address",
148
+ name: "_owner",
149
+ type: "address",
150
+ },
151
+ ],
152
+ name: "initialize",
153
+ outputs: [],
154
+ stateMutability: "nonpayable",
155
+ type: "function",
156
+ },
157
+ {
158
+ inputs: [
159
+ {
160
+ internalType: "uint256",
161
+ name: "baseAmount",
162
+ type: "uint256",
163
+ },
164
+ {
165
+ internalType: "address",
166
+ name: "baseToken",
167
+ type: "address",
168
+ },
169
+ {
170
+ internalType: "uint32",
171
+ name: "period",
172
+ type: "uint32",
173
+ },
174
+ ],
175
+ name: "minAmountByTWAP",
176
+ outputs: [
177
+ {
178
+ internalType: "uint256",
179
+ name: "minTwap",
180
+ type: "uint256",
181
+ },
182
+ {
183
+ internalType: "uint256",
184
+ name: "quote",
185
+ type: "uint256",
186
+ },
187
+ ],
188
+ stateMutability: "view",
189
+ type: "function",
190
+ },
191
+ {
192
+ inputs: [],
193
+ name: "oracle",
194
+ outputs: [
195
+ {
196
+ internalType: "contract IStaticOracle",
197
+ name: "",
198
+ type: "address",
199
+ },
200
+ ],
201
+ stateMutability: "view",
202
+ type: "function",
203
+ },
204
+ {
205
+ inputs: [],
206
+ name: "owner",
207
+ outputs: [
208
+ {
209
+ internalType: "address",
210
+ name: "",
211
+ type: "address",
212
+ },
213
+ ],
214
+ stateMutability: "view",
215
+ type: "function",
216
+ },
217
+ {
218
+ inputs: [
219
+ {
220
+ internalType: "address",
221
+ name: "token",
222
+ type: "address",
223
+ },
224
+ ],
225
+ name: "recover",
226
+ outputs: [],
227
+ stateMutability: "nonpayable",
228
+ type: "function",
229
+ },
230
+ {
231
+ inputs: [],
232
+ name: "router",
233
+ outputs: [
234
+ {
235
+ internalType: "contract ISwapRouter",
236
+ name: "",
237
+ type: "address",
238
+ },
239
+ ],
240
+ stateMutability: "view",
241
+ type: "function",
242
+ },
243
+ {
244
+ inputs: [],
245
+ name: "stable",
246
+ outputs: [
247
+ {
248
+ internalType: "address",
249
+ name: "",
250
+ type: "address",
251
+ },
252
+ ],
253
+ stateMutability: "view",
254
+ type: "function",
255
+ },
256
+ {
257
+ inputs: [
258
+ {
259
+ internalType: "uint256",
260
+ name: "_minAmount",
261
+ type: "uint256",
262
+ },
263
+ {
264
+ internalType: "address payable",
265
+ name: "refundGas",
266
+ type: "address",
267
+ },
268
+ ],
269
+ name: "swap",
270
+ outputs: [
271
+ {
272
+ internalType: "uint256",
273
+ name: "bought",
274
+ type: "uint256",
275
+ },
276
+ ],
277
+ stateMutability: "payable",
278
+ type: "function",
279
+ },
280
+ {
281
+ inputs: [
282
+ {
283
+ internalType: "uint256",
284
+ name: "_minAmount",
285
+ type: "uint256",
286
+ },
287
+ {
288
+ internalType: "address payable",
289
+ name: "refundGas",
290
+ type: "address",
291
+ },
292
+ ],
293
+ name: "swapCelo",
294
+ outputs: [
295
+ {
296
+ internalType: "uint256",
297
+ name: "bought",
298
+ type: "uint256",
299
+ },
300
+ ],
301
+ stateMutability: "payable",
302
+ type: "function",
303
+ },
304
+ {
305
+ inputs: [
306
+ {
307
+ internalType: "uint256",
308
+ name: "_minAmount",
309
+ type: "uint256",
310
+ },
311
+ {
312
+ internalType: "address",
313
+ name: "refundGas",
314
+ type: "address",
315
+ },
316
+ ],
317
+ name: "swapCusd",
318
+ outputs: [
319
+ {
320
+ internalType: "uint256",
321
+ name: "bought",
322
+ type: "uint256",
323
+ },
324
+ ],
325
+ stateMutability: "nonpayable",
326
+ type: "function",
327
+ },
328
+ {
329
+ inputs: [],
330
+ name: "twapPeriod",
331
+ outputs: [
332
+ {
333
+ internalType: "uint32",
334
+ name: "",
335
+ type: "uint32",
336
+ },
337
+ ],
338
+ stateMutability: "view",
339
+ type: "function",
340
+ },
341
+ {
342
+ stateMutability: "payable",
343
+ type: "receive",
344
+ },
345
+ ] as const;
346
+
347
+ const _bytecode =
348
+ "0x6101206040523480156200001257600080fd5b506040516200190e3803806200190e833981016040819052620000359162000078565b6001600160a01b0393841660805291831660c052821660e052166101005261012c60a052620000e0565b6001600160a01b03811681146200007557600080fd5b50565b600080600080608085870312156200008f57600080fd5b84516200009c816200005f565b6020860151909450620000af816200005f565b6040860151909350620000c2816200005f565b6060860151909250620000d5816200005f565b939692955090935050565b60805160a05160c05160e05161010051611748620001c66000396000818161019001528181610561015281816106870152818161077101526108da01526000818161021f015281816107c201528181610aed01528181610e980152610f1901526000818161013a0152818161059201528181610631015281816106b8015281816107a00152818161091101528181610ac901528181610e3f01528181610ef5015261104e0152600081816102f1015281816109c80152610d5501526000818161033a01528181610a3001528181610b5f01528181610db70152610fa101526117486000f3fe6080604052600436106100bc5760003560e01c8063051ed8ef146100c85780630cd865ec1461010657806322be3de114610128578063758316c91461015c5780637dc0d1d01461017e578063821dc910146101b25780638da5cb5b146101e7578063a5e598fc1461020d578063aa6bfa9d14610241578063b1a5fa9f14610262578063c4d66de814610282578063d3986f08146102a2578063e00e8fdd146102b5578063f6207326146102df578063f887ea401461032857600080fd5b366100c357005b600080fd5b3480156100d457600080fd5b506100f073471ece3750da237f93b8e339c536989b8978a43881565b6040516100fd9190611307565b60405180910390f35b34801561011257600080fd5b50610126610121366004611330565b61035c565b005b34801561013457600080fd5b506100f07f000000000000000000000000000000000000000000000000000000000000000081565b34801561016857600080fd5b506100f06000805160206116f383398151915281565b34801561018a57600080fd5b506100f07f000000000000000000000000000000000000000000000000000000000000000081565b3480156101be57600080fd5b506101d26101cd366004611354565b6104d5565b604080519283526020830191909152016100fd565b3480156101f357600080fd5b506000546100f0906201000090046001600160a01b031681565b34801561021957600080fd5b506100f07f000000000000000000000000000000000000000000000000000000000000000081565b61025461024f36600461139f565b610859565b6040519081526020016100fd565b34801561026e57600080fd5b5061025461027d36600461139f565b610c79565b34801561028e57600080fd5b5061012661029d366004611330565b6110c8565b6102546102b036600461139f565b6111f3565b3480156102c157600080fd5b506102cb6101f481565b60405162ffffff90911681526020016100fd565b3480156102eb57600080fd5b506103137f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100fd565b34801561033457600080fd5b506100f07f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166103ee5760008054604051620100009091046001600160a01b03169047908381818185875af1925050503d80600081146103bc576040519150601f19603f3d011682016040523d82523d6000602084013e6103c1565b606091505b50509050806103ea5760405163e2a1cc9160e01b81524760048201526024015b60405180910390fd5b5050565b6000546040516370a0823160e01b81526001600160a01b038084169263a9059cbb92620100009091049091169083906370a0823190610431903090600401611307565b602060405180830381865afa15801561044e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047291906113cf565b6040518363ffffffff1660e01b815260040161048f9291906113e8565b6020604051808303816000875af11580156104ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ea9190611401565b50565b604080516001808252818301909252600091829182916020808301908036833701905050905060648160008151811061051057610510611439565b62ffffff909216602092830291909101909101528573471ece3750da237f93b8e339c536989b8978a437196001600160a01b0387160161060e57604051636c022f6560e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d8045eca906105be9084908a907f00000000000000000000000000000000000000000000000000000000000000009088908c9060040161148f565b600060405180830381865afa1580156105db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261060391908101906114f2565b509250829050610730565b6001600160a01b0386166000805160206116f383398151915214801561066b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166000805160206116f383398151915214155b1561073057604051636c022f6560e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d8045eca906106e49084908a907f00000000000000000000000000000000000000000000000000000000000000009088908c9060040161148f565b600060405180830381865afa158015610701573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261072991908101906114f2565b5092508290505b6101f48260008151811061074657610746611439565b62ffffff90921660209283029190910190910152604051636c022f6560e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d8045eca906107ee9084907f0000000000000000000000000000000000000000000000000000000000000000907f00000000000000000000000000000000000000000000000000000000000000009088908c9060040161148f565b600060405180830381865afa15801561080b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261083391908101906114f2565b50925060646108438460626115da565b61084d91906115f1565b93505050935093915050565b604080516001808252818301909252600091829182916020808301908036833701905050905060648160008151811061089457610894611439565b62ffffff909216602092830291909101909101526000546001600160a01b0385811662010000909204161461099d57604051636c022f6560e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d8045eca906109549067016345785d8a0000907f00000000000000000000000000000000000000000000000000000000000000009073471ece3750da237f93b8e339c536989b8978a438908790603c9060040161148f565b600060405180830381865afa158015610971573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261099991908101906114f2565b5091505b60006109a98347611613565b905060006109ec8273471ece3750da237f93b8e339c536989b8978a4387f00000000000000000000000000000000000000000000000000000000000000006104d5565b5090508087116109fc57806109fe565b865b60405163095ea7b360e01b815290975073471ece3750da237f93b8e339c536989b8978a4389063095ea7b390610a5a907f00000000000000000000000000000000000000000000000000000000000000009086906004016113e8565b6020604051808303816000875af1158015610a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9d9190611401565b50604080516080810190915260009080610b1573471ece3750da237f93b8e339c536989b8978a43860647f00000000000000000000000000000000000000000000000000000000000000006101f47f000000000000000000000000000000000000000000000000000000000000000060a08701611626565b60408051601f198184030181529181529082526000546001600160a01b03620100009091048116602084015282820187905260609092018b90525163b858183f60e01b81529192507f0000000000000000000000000000000000000000000000000000000000000000169063b858183f90610b94908490600401611673565b6020604051808303816000875af1158015610bb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd791906113cf565b6000549096506001600160a01b03888116620100009092041614610c6e576000876001600160a01b03168660405160006040518083038185875af1925050503d8060008114610c42576040519150601f19603f3d011682016040523d82523d6000602084013e610c47565b606091505b5050905080610c6c5760405163e2a1cc9160e01b8152600481018790526024016103e1565b505b505050505092915050565b6000805481906001600160a01b0362010000909104811690841603610c9f576000610ca9565b67016345785d8a00005b6001600160401b031690506000816000805160206116f38339815191526001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610cf19190611307565b602060405180830381865afa158015610d0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3291906113cf565b610d3c9190611613565b90506000610d79826000805160206116f38339815191527f00000000000000000000000000000000000000000000000000000000000000006104d5565b509050808611610d895780610d8b565b855b60405163095ea7b360e01b81529096506000805160206116f38339815191529063095ea7b390610de1907f00000000000000000000000000000000000000000000000000000000000000009086906004016113e8565b6020604051808303816000875af1158015610e00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e249190611401565b50606073765de816845861e75a25fca122bb6898b8b12829197f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031601610ee257604051733b2ef40b422c30f3ad12fe50915db44c5c58941560611b6020820152607d60ea1b60348201527f000000000000000000000000000000000000000000000000000000000000000060601b6001600160601b0319166037820152604b016040516020818303038152906040529050610f5e565b6000805160206116f383398151915260647f00000000000000000000000000000000000000000000000000000000000000006101f47f0000000000000000000000000000000000000000000000000000000000000000604051602001610f4c959493929190611626565b60405160208183030381529060405290505b604080516080810182528281526000546001600160a01b036201000090910481166020830152818301869052606082018a9052915163b858183f60e01b815290917f0000000000000000000000000000000000000000000000000000000000000000169063b858183f90610fd6908490600401611673565b6020604051808303816000875af1158015610ff5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101991906113cf565b6000549096506001600160a01b03888116620100009092041614610c6e5760405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb90611085908a9089906004016113e8565b6020604051808303816000875af11580156110a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6c9190611401565b600054610100900460ff16158080156110e85750600054600160ff909116105b806111025750303b158015611102575060005460ff166001145b6111655760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016103e1565b6000805460ff191660011790558015611188576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b0385160217905580156103ea576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000478015611264576112068484610859565b6040805173471ece3750da237f93b8e339c536989b8978a4388152602081018490529081018290529092507fa9a40dec7a304e5915d11358b968c1e8d365992abf20f82285d1df1b30c8e24c9060600160405180910390a150611301565b6040516370a0823160e01b81526000805160206116f3833981519152906370a0823190611295903090600401611307565b602060405180830381865afa1580156112b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d691906113cf565b905080156112e8576112068484610c79565b60405163701b93d160e11b815260040160405180910390fd5b92915050565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146104d257600080fd5b60006020828403121561134257600080fd5b813561134d8161131b565b9392505050565b60008060006060848603121561136957600080fd5b83359250602084013561137b8161131b565b9150604084013563ffffffff8116811461139457600080fd5b809150509250925092565b600080604083850312156113b257600080fd5b8235915060208301356113c48161131b565b809150509250929050565b6000602082840312156113e157600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b60006020828403121561141357600080fd5b8151801515811461134d57600080fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101561148457815162ffffff1687529582019590820190600101611463565b509495945050505050565b6001600160801b03861681526001600160a01b0385811660208301528416604082015260a0606082018190526000906114ca9083018561144f565b905063ffffffff831660808301529695505050505050565b80516114ed8161131b565b919050565b6000806040838503121561150557600080fd5b8251602080850151919350906001600160401b038082111561152657600080fd5b818601915086601f83011261153a57600080fd5b81518181111561154c5761154c611423565b8060051b604051601f19603f8301168101818110858211171561157157611571611423565b60405291825284820192508381018501918983111561158f57600080fd5b938501935b828510156115b4576115a5856114e2565b84529385019392850192611594565b8096505050505050509250929050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611301576113016115c4565b60008261160e57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611301576113016115c4565b6001600160601b0319606096871b811682526001600160e81b031960e896871b8116601484015294871b811660178301529290941b909216602b840152921b909116602e82015260420190565b60006020808352835160808285015280518060a086015260005b818110156116a95782810184015186820160c00152830161168d565b50600060c08287010152918501516001600160a01b0381166040860152916040860151606086810191909152909501516080850152505050601f91909101601f19160160c0019056fe000000000000000000000000765de816845861e75a25fca122bb6898b8b1282aa26469706673582212204cccf33cb0343fa31c1e7cc7f6dcd05e169ce76a17b7aea72999348bc17cb56464736f6c63430008130033";
349
+
350
+ type BuyGDCloneV2ConstructorParams =
351
+ | [signer?: Signer]
352
+ | ConstructorParameters<typeof ContractFactory>;
353
+
354
+ const isSuperArgs = (
355
+ xs: BuyGDCloneV2ConstructorParams
356
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
357
+
358
+ export class BuyGDCloneV2__factory extends ContractFactory {
359
+ constructor(...args: BuyGDCloneV2ConstructorParams) {
360
+ if (isSuperArgs(args)) {
361
+ super(...args);
362
+ } else {
363
+ super(_abi, _bytecode, args[0]);
364
+ }
365
+ }
366
+
367
+ override deploy(
368
+ _router: string,
369
+ _stable: string,
370
+ _gd: string,
371
+ _oracle: string,
372
+ overrides?: Overrides & { from?: string }
373
+ ): Promise<BuyGDCloneV2> {
374
+ return super.deploy(
375
+ _router,
376
+ _stable,
377
+ _gd,
378
+ _oracle,
379
+ overrides || {}
380
+ ) as Promise<BuyGDCloneV2>;
381
+ }
382
+ override getDeployTransaction(
383
+ _router: string,
384
+ _stable: string,
385
+ _gd: string,
386
+ _oracle: string,
387
+ overrides?: Overrides & { from?: string }
388
+ ): TransactionRequest {
389
+ return super.getDeployTransaction(
390
+ _router,
391
+ _stable,
392
+ _gd,
393
+ _oracle,
394
+ overrides || {}
395
+ );
396
+ }
397
+ override attach(address: string): BuyGDCloneV2 {
398
+ return super.attach(address) as BuyGDCloneV2;
399
+ }
400
+ override connect(signer: Signer): BuyGDCloneV2__factory {
401
+ return super.connect(signer) as BuyGDCloneV2__factory;
402
+ }
403
+
404
+ static readonly bytecode = _bytecode;
405
+ static readonly abi = _abi;
406
+ static createInterface(): BuyGDCloneV2Interface {
407
+ return new utils.Interface(_abi) as BuyGDCloneV2Interface;
408
+ }
409
+ static connect(
410
+ address: string,
411
+ signerOrProvider: Signer | Provider
412
+ ): BuyGDCloneV2 {
413
+ return new Contract(address, _abi, signerOrProvider) as BuyGDCloneV2;
414
+ }
415
+ }
@@ -93,7 +93,7 @@ const _abi = [
93
93
  ] as const;
94
94
 
95
95
  const _bytecode =
96
- "0x608060405234801561001057600080fd5b50604051610c8e380380610c8e83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610bfb806100936000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806324bdd09114610030575b600080fd5b61004361003e3660046108d0565b610045565b005b6000546001600160a01b031633146100a05760405162461bcd60e51b81526020600482015260196024820152786f6e6c79206176617461722063616e2063616c6c207468697360381b60448201526064015b60405180910390fd5b600085600001516001600160a01b03166370a08231866001600160a01b031663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011791906109ac565b6040518263ffffffff1660e01b815260040161013391906109d0565b602060405180830381865afa158015610150573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017491906109e4565b9050692a5a058fc295ed0000008110156101c55760405162461bcd60e51b81526020600482015260126024820152716e6f7420656e6f756768207265736572766560701b6044820152606401610097565b600086602001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610209573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022d91906109e4565b9050655af3107a400060006102428583610a13565b61025485670de0b6b3a7640000610a13565b610262906305f5e100610a13565b61026c9190610a30565b90506000629896809050848a6060018181525050858a6040018181525050818a6080019063ffffffff16908163ffffffff1681525050808a60a0019063ffffffff16908163ffffffff16815250506000808c6001600160a01b031663d1b7089a8c8e604051602401610332919081516001600160a01b03908116825260208084015190911690820152604080830151908201526060808301519082015260808083015163ffffffff9081169183019190915260a092830151169181019190915260c00190565b60408051601f198184030181529181526020820180516001600160e01b031663aec36c1f60e01b1790526000805491516001600160e01b031960e087901b16815261038c9493926001600160a01b03169190600401610a76565b6000604051808303816000875af11580156103ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103d39190810190610ad7565b915091508161041c5760405162461bcd60e51b815260206004820152601560248201527418dc99585d19515e18da185b99d94819985a5b1959605a1b6044820152606401610097565b60008180602001905181019061043291906109e4565b604051602481018290526601067ef2fcfa0060448201526201518060648201529091506001600160a01b038f169063d1b7089a908d9060840160408051601f198184030181529181526020820180516001600160e01b031663bfcec94b60e01b1790526000805491516001600160e01b031960e087901b1681526104c59493926001600160a01b03169190600401610a76565b6000604051808303816000875af11580156104e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261050c9190810190610ad7565b509250826105585760405162461bcd60e51b81526020600482015260196024820152781cd95d115e1c185b9cda5bdb90dbdb999a59c819985a5b1959603a1b6044820152606401610097565b8d6001600160a01b031663d1b7089a8c8c60405160240161057991906109d0565b60408051601f198184030181529181526020820180516001600160e01b03166380d9a50f60e01b1790526000805491516001600160e01b031960e087901b1681526105d39493926001600160a01b03169190600401610a76565b6000604051808303816000875af11580156105f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261061a9190810190610ad7565b5092508261066a5760405162461bcd60e51b815260206004820152601d60248201527f73657444697374726962756974696f6e48656c706572206661696c65640000006044820152606401610097565b6000610676888b610b97565b90508e6001600160a01b0316636407e4328273a3247276dbcc76dd7705273f766eb3e8a5ecf4a560008054906101000a90046001600160a01b03166040518463ffffffff1660e01b81526004016106e9939291909283526001600160a01b03918216602084015216604082015260600190565b6020604051808303816000875af1158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c9190610baa565b6107705760405162461bcd60e51b8152602060048201526015602482015274189c9a5919d9481b5a5b9d1a5b99c819985a5b1959605a1b6044820152606401610097565b8e6001600160a01b0316636c525b1360008054906101000a90046001600160a01b03166040518263ffffffff1660e01b81526004016107af91906109d0565b6020604051808303816000875af11580156107ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f29190610baa565b6108355760405162461bcd60e51b81526020600482015260146024820152731d5b9c9959da5cdd195c9a5b99c819985a5b195960621b6044820152606401610097565b5050600080546001600160a01b031916905550505050505050505050505050565b6001600160a01b038116811461086b57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156108a6576108a661086e565b60405290565b80356108b781610856565b919050565b803563ffffffff811681146108b757600080fd5b6000806000806000808688036101608112156108eb57600080fd5b87356108f681610856565b965060c0601f198201121561090a57600080fd5b50610913610884565b602088013561092181610856565b8152604088013561093181610856565b6020820152606088810135604083015260808901359082015261095660a089016108bc565b608082015261096760c089016108bc565b60a0820152945061097a60e088016108ac565b935061098961010088016108ac565b925061099861012088016108ac565b915061014087013590509295509295509295565b6000602082840312156109be57600080fd5b81516109c981610856565b9392505050565b6001600160a01b0391909116815260200190565b6000602082840312156109f657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a2a57610a2a6109fd565b92915050565b600082610a4d57634e487b7160e01b600052601260045260246000fd5b500490565b60005b83811015610a6d578181015183820152602001610a55565b50506000910152565b600060018060a01b038087168352608060208401528551806080850152610aa48160a0860160208a01610a52565b9416604083015250606081019190915260a0601f909201601f1916010192915050565b805180151581146108b757600080fd5b60008060408385031215610aea57600080fd5b610af383610ac7565b60208401519092506001600160401b0380821115610b1057600080fd5b818501915085601f830112610b2457600080fd5b815181811115610b3657610b3661086e565b604051601f8201601f19908116603f01168101908382118183101715610b5e57610b5e61086e565b81604052828152886020848701011115610b7757600080fd5b610b88836020830160208801610a52565b80955050505050509250929050565b81810381811115610a2a57610a2a6109fd565b600060208284031215610bbc57600080fd5b6109c982610ac756fea2646970667358221220aef924ac83f228f489a75e776c1065939c1d28f14b78143a1edad393aa231eaa64736f6c63430008130033";
96
+ "0x608060405234801561001057600080fd5b50604051610c8e380380610c8e83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610bfb806100936000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806324bdd09114610030575b600080fd5b61004361003e3660046108d0565b610045565b005b6000546001600160a01b031633146100a05760405162461bcd60e51b81526020600482015260196024820152786f6e6c79206176617461722063616e2063616c6c207468697360381b60448201526064015b60405180910390fd5b600085600001516001600160a01b03166370a08231866001600160a01b031663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011791906109ac565b6040518263ffffffff1660e01b815260040161013391906109d0565b602060405180830381865afa158015610150573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017491906109e4565b9050692a5a058fc295ed0000008110156101c55760405162461bcd60e51b81526020600482015260126024820152716e6f7420656e6f756768207265736572766560701b6044820152606401610097565b600086602001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610209573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022d91906109e4565b9050655af3107a400060006102428583610a13565b61025485670de0b6b3a7640000610a13565b610262906305f5e100610a13565b61026c9190610a30565b90506000629896809050848a6060018181525050858a6040018181525050818a6080019063ffffffff16908163ffffffff1681525050808a60a0019063ffffffff16908163ffffffff16815250506000808c6001600160a01b031663d1b7089a8c8e604051602401610332919081516001600160a01b03908116825260208084015190911690820152604080830151908201526060808301519082015260808083015163ffffffff9081169183019190915260a092830151169181019190915260c00190565b60408051601f198184030181529181526020820180516001600160e01b031663aec36c1f60e01b1790526000805491516001600160e01b031960e087901b16815261038c9493926001600160a01b03169190600401610a76565b6000604051808303816000875af11580156103ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103d39190810190610ad7565b915091508161041c5760405162461bcd60e51b815260206004820152601560248201527418dc99585d19515e18da185b99d94819985a5b1959605a1b6044820152606401610097565b60008180602001905181019061043291906109e4565b604051602481018290526601067ef2fcfa0060448201526201518060648201529091506001600160a01b038f169063d1b7089a908d9060840160408051601f198184030181529181526020820180516001600160e01b031663bfcec94b60e01b1790526000805491516001600160e01b031960e087901b1681526104c59493926001600160a01b03169190600401610a76565b6000604051808303816000875af11580156104e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261050c9190810190610ad7565b509250826105585760405162461bcd60e51b81526020600482015260196024820152781cd95d115e1c185b9cda5bdb90dbdb999a59c819985a5b1959603a1b6044820152606401610097565b8d6001600160a01b031663d1b7089a8c8c60405160240161057991906109d0565b60408051601f198184030181529181526020820180516001600160e01b03166380d9a50f60e01b1790526000805491516001600160e01b031960e087901b1681526105d39493926001600160a01b03169190600401610a76565b6000604051808303816000875af11580156105f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261061a9190810190610ad7565b5092508261066a5760405162461bcd60e51b815260206004820152601d60248201527f73657444697374726962756974696f6e48656c706572206661696c65640000006044820152606401610097565b6000610676888b610b97565b90508e6001600160a01b0316636407e4328273a3247276dbcc76dd7705273f766eb3e8a5ecf4a560008054906101000a90046001600160a01b03166040518463ffffffff1660e01b81526004016106e9939291909283526001600160a01b03918216602084015216604082015260600190565b6020604051808303816000875af1158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c9190610baa565b6107705760405162461bcd60e51b8152602060048201526015602482015274189c9a5919d9481b5a5b9d1a5b99c819985a5b1959605a1b6044820152606401610097565b8e6001600160a01b0316636c525b1360008054906101000a90046001600160a01b03166040518263ffffffff1660e01b81526004016107af91906109d0565b6020604051808303816000875af11580156107ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f29190610baa565b6108355760405162461bcd60e51b81526020600482015260146024820152731d5b9c9959da5cdd195c9a5b99c819985a5b195960621b6044820152606401610097565b5050600080546001600160a01b031916905550505050505050505050505050565b6001600160a01b038116811461086b57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156108a6576108a661086e565b60405290565b80356108b781610856565b919050565b803563ffffffff811681146108b757600080fd5b6000806000806000808688036101608112156108eb57600080fd5b87356108f681610856565b965060c0601f198201121561090a57600080fd5b50610913610884565b602088013561092181610856565b8152604088013561093181610856565b6020820152606088810135604083015260808901359082015261095660a089016108bc565b608082015261096760c089016108bc565b60a0820152945061097a60e088016108ac565b935061098961010088016108ac565b925061099861012088016108ac565b915061014087013590509295509295509295565b6000602082840312156109be57600080fd5b81516109c981610856565b9392505050565b6001600160a01b0391909116815260200190565b6000602082840312156109f657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610a2a57610a2a6109fd565b92915050565b600082610a4d57634e487b7160e01b600052601260045260246000fd5b500490565b60005b83811015610a6d578181015183820152602001610a55565b50506000910152565b600060018060a01b038087168352608060208401528551806080850152610aa48160a0860160208a01610a52565b9416604083015250606081019190915260a0601f909201601f1916010192915050565b805180151581146108b757600080fd5b60008060408385031215610aea57600080fd5b610af383610ac7565b60208401519092506001600160401b0380821115610b1057600080fd5b818501915085601f830112610b2457600080fd5b815181811115610b3657610b3661086e565b604051601f8201601f19908116603f01168101908382118183101715610b5e57610b5e61086e565b81604052828152886020848701011115610b7757600080fd5b610b88836020830160208801610a52565b80955050505050509250929050565b81810381811115610a2a57610a2a6109fd565b600060208284031215610bbc57600080fd5b6109c982610ac756fea264697066735822122053161a6943af3a177b83e916e134b8bdcf78fc30ec993b931b70a905be43231064736f6c63430008130033";
97
97
 
98
98
  type ProtocolUpgradeV4MentoConstructorParams =
99
99
  | [signer?: Signer]
@@ -0,0 +1,39 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import type { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ MentoExchange,
9
+ MentoExchangeInterface,
10
+ } from "../../../../contracts/utils/UpdateReserveRatioAfterXDC.sol/MentoExchange";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [],
15
+ name: "reserve",
16
+ outputs: [
17
+ {
18
+ internalType: "address",
19
+ name: "",
20
+ type: "address",
21
+ },
22
+ ],
23
+ stateMutability: "view",
24
+ type: "function",
25
+ },
26
+ ] as const;
27
+
28
+ export class MentoExchange__factory {
29
+ static readonly abi = _abi;
30
+ static createInterface(): MentoExchangeInterface {
31
+ return new utils.Interface(_abi) as MentoExchangeInterface;
32
+ }
33
+ static connect(
34
+ address: string,
35
+ signerOrProvider: Signer | Provider
36
+ ): MentoExchange {
37
+ return new Contract(address, _abi, signerOrProvider) as MentoExchange;
38
+ }
39
+ }
@@ -0,0 +1,110 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type {
7
+ UpdateReserveRatioAfterXDC,
8
+ UpdateReserveRatioAfterXDCInterface,
9
+ } from "../../../../contracts/utils/UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [
14
+ {
15
+ internalType: "address",
16
+ name: "_owner",
17
+ type: "address",
18
+ },
19
+ ],
20
+ stateMutability: "nonpayable",
21
+ type: "constructor",
22
+ },
23
+ {
24
+ inputs: [
25
+ {
26
+ internalType: "contract Controller",
27
+ name: "_controller",
28
+ type: "address",
29
+ },
30
+ {
31
+ internalType: "address",
32
+ name: "_mentoExchange",
33
+ type: "address",
34
+ },
35
+ {
36
+ internalType: "bytes32",
37
+ name: "_exchangeId",
38
+ type: "bytes32",
39
+ },
40
+ {
41
+ internalType: "uint32",
42
+ name: "_reserveRatio",
43
+ type: "uint32",
44
+ },
45
+ ],
46
+ name: "upgrade",
47
+ outputs: [],
48
+ stateMutability: "nonpayable",
49
+ type: "function",
50
+ },
51
+ ] as const;
52
+
53
+ const _bytecode =
54
+ "0x608060405234801561001057600080fd5b5060405161090038038061090083398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61086d806100936000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063fb7b652814610030575b600080fd5b61004361003e366004610592565b610045565b005b6000546001600160a01b0316331461009f5760405162461bcd60e51b81526020600482015260186024820152776f6e6c79206f776e65722063616e2063616c6c207468697360401b60448201526064015b60405180910390fd5b6000836001600160a01b0316633149d54a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010391906105e5565b6040516309e1222960e21b8152600481018590529091506000906001600160a01b0386169063278488a49060240160c060405180830381865afa15801561014e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610172919061061f565b63ffffffff841660808201526040516024810186905260006044820181905291925081906001600160a01b0389169063d1b7089a90899060640160408051601f198184030181529181526020820180516001600160e01b03166372375adb60e11b179052516001600160e01b031960e085901b1681526101fb92919089906000906004016106dd565b6000604051808303816000875af115801561021a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102429190810190610743565b915091508161028c5760405162461bcd60e51b815260206004820152601660248201527519195cdd1c9bde515e18da185b99d94819985a5b195960521b6044820152606401610096565b6040805184516001600160a01b03908116602483015260208601518116604483015291850151606482015260608501516084820152608085015163ffffffff90811660a483015260a08601511660c48201529089169063d1b7089a90899060e40160408051601f198184030181529181526020820180516001600160e01b031663aec36c1f60e01b179052516001600160e01b031960e085901b16815261033c92919089906000906004016106dd565b6000604051808303816000875af115801561035b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103839190810190610743565b9092509050816103cd5760405162461bcd60e51b815260206004820152601560248201527418dc99585d19515e18da185b99d94819985a5b1959605a1b6044820152606401610096565b6000818060200190518101906103e39190610803565b905086811461042b5760405162461bcd60e51b81526020600482015260146024820152731b9bdd081cd85b5948195e18da185b99d9481a5960621b6044820152606401610096565b610434816104fe565b604051636c525b1360e01b81526001600160a01b0386811660048301528a1690636c525b13906024016020604051808303816000875af115801561047c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a0919061081c565b6104e35760405162461bcd60e51b81526020600482015260146024820152731d5b9c9959da5cdd195c9a5b99c819985a5b195960621b6044820152606401610096565b5050600080546001600160a01b031916905550505050505050565b6105438160405160240161051491815260200190565b60408051601f198184030181529190526020810180516001600160e01b03166327b7cf8560e01b179052610546565b50565b6105438160006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b6001600160a01b038116811461054357600080fd5b63ffffffff8116811461054357600080fd5b600080600080608085870312156105a857600080fd5b84356105b38161056b565b935060208501356105c38161056b565b92506040850135915060608501356105da81610580565b939692955090935050565b6000602082840312156105f757600080fd5b81516106028161056b565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600060c0828403121561063157600080fd5b60405160c081016001600160401b038111828210171561065357610653610609565b60405282516106618161056b565b815260208301516106718161056b565b806020830152506040830151604082015260608301516060820152608083015161069a81610580565b608082015260a08301516106ad81610580565b60a08201529392505050565b60005b838110156106d45781810151838201526020016106bc565b50506000910152565b600060018060a01b03808716835260806020840152855180608085015261070b8160a0860160208a016106b9565b9416604083015250606081019190915260a0601f909201601f1916010192915050565b8051801515811461073e57600080fd5b919050565b6000806040838503121561075657600080fd5b61075f8361072e565b60208401519092506001600160401b038082111561077c57600080fd5b818501915085601f83011261079057600080fd5b8151818111156107a2576107a2610609565b604051601f8201601f19908116603f011681019083821181831017156107ca576107ca610609565b816040528281528860208487010111156107e357600080fd5b6107f48360208301602088016106b9565b80955050505050509250929050565b60006020828403121561081557600080fd5b5051919050565b60006020828403121561082e57600080fd5b6106028261072e56fea26469706673582212200fce731fac65158d43214b3007af300c6df7bc0a05f1f9f971f545474e09566b64736f6c63430008130033";
55
+
56
+ type UpdateReserveRatioAfterXDCConstructorParams =
57
+ | [signer?: Signer]
58
+ | ConstructorParameters<typeof ContractFactory>;
59
+
60
+ const isSuperArgs = (
61
+ xs: UpdateReserveRatioAfterXDCConstructorParams
62
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
63
+
64
+ export class UpdateReserveRatioAfterXDC__factory extends ContractFactory {
65
+ constructor(...args: UpdateReserveRatioAfterXDCConstructorParams) {
66
+ if (isSuperArgs(args)) {
67
+ super(...args);
68
+ } else {
69
+ super(_abi, _bytecode, args[0]);
70
+ }
71
+ }
72
+
73
+ override deploy(
74
+ _owner: string,
75
+ overrides?: Overrides & { from?: string }
76
+ ): Promise<UpdateReserveRatioAfterXDC> {
77
+ return super.deploy(
78
+ _owner,
79
+ overrides || {}
80
+ ) as Promise<UpdateReserveRatioAfterXDC>;
81
+ }
82
+ override getDeployTransaction(
83
+ _owner: string,
84
+ overrides?: Overrides & { from?: string }
85
+ ): TransactionRequest {
86
+ return super.getDeployTransaction(_owner, overrides || {});
87
+ }
88
+ override attach(address: string): UpdateReserveRatioAfterXDC {
89
+ return super.attach(address) as UpdateReserveRatioAfterXDC;
90
+ }
91
+ override connect(signer: Signer): UpdateReserveRatioAfterXDC__factory {
92
+ return super.connect(signer) as UpdateReserveRatioAfterXDC__factory;
93
+ }
94
+
95
+ static readonly bytecode = _bytecode;
96
+ static readonly abi = _abi;
97
+ static createInterface(): UpdateReserveRatioAfterXDCInterface {
98
+ return new utils.Interface(_abi) as UpdateReserveRatioAfterXDCInterface;
99
+ }
100
+ static connect(
101
+ address: string,
102
+ signerOrProvider: Signer | Provider
103
+ ): UpdateReserveRatioAfterXDC {
104
+ return new Contract(
105
+ address,
106
+ _abi,
107
+ signerOrProvider
108
+ ) as UpdateReserveRatioAfterXDC;
109
+ }
110
+ }
@@ -0,0 +1,5 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export { MentoExchange__factory } from "./MentoExchange__factory";
5
+ export { UpdateReserveRatioAfterXDC__factory } from "./UpdateReserveRatioAfterXDC__factory";
@@ -0,0 +1,39 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import type { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ MentoExchange,
9
+ MentoExchangeInterface,
10
+ } from "../../../../contracts/utils/UpdateReserveSettingsForXdc.sol/MentoExchange";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [],
15
+ name: "reserve",
16
+ outputs: [
17
+ {
18
+ internalType: "address",
19
+ name: "",
20
+ type: "address",
21
+ },
22
+ ],
23
+ stateMutability: "view",
24
+ type: "function",
25
+ },
26
+ ] as const;
27
+
28
+ export class MentoExchange__factory {
29
+ static readonly abi = _abi;
30
+ static createInterface(): MentoExchangeInterface {
31
+ return new utils.Interface(_abi) as MentoExchangeInterface;
32
+ }
33
+ static connect(
34
+ address: string,
35
+ signerOrProvider: Signer | Provider
36
+ ): MentoExchange {
37
+ return new Contract(address, _abi, signerOrProvider) as MentoExchange;
38
+ }
39
+ }