@gooddollar/goodprotocol 1.0.24 → 1.0.26

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 (128) hide show
  1. package/artifacts/abis/FuseFaucet.min.json +1 -0
  2. package/artifacts/abis/FuseStakingV3.min.json +1 -0
  3. package/artifacts/abis/IConsensus.min.json +1 -0
  4. package/artifacts/abis/InvitesV1.min.json +1 -0
  5. package/artifacts/abis/PegSwap.min.json +1 -0
  6. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  7. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  8. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  9. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  10. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  11. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  12. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  13. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  14. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/ILendingPool.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/FuseFaucet.sol/FuseFaucet.dbg.json +4 -0
  34. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +325 -0
  35. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  36. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  37. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  38. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  39. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  40. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  41. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  42. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +4 -0
  43. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +492 -0
  44. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  45. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  46. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  47. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  48. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  49. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  50. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  51. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  52. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  53. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  54. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  55. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  56. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  57. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  58. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  59. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  60. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  61. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  62. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  63. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  64. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  65. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  66. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  67. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  68. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  69. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  70. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  71. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  72. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  73. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  74. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  75. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +4 -0
  76. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +733 -0
  77. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +4 -0
  78. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.json +104 -0
  79. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +4 -0
  80. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.json +34 -0
  81. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  82. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  83. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  84. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  85. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  86. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  87. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  88. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  89. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  90. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  91. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  92. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  93. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  94. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  95. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  96. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  97. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  98. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  99. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  100. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  101. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  102. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  103. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  104. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  105. package/contracts/fuseFaucet/FuseFaucet.sol +172 -0
  106. package/contracts/invite/InvitesV1.sol +316 -0
  107. package/contracts/staking/FuseStakingV3.sol +641 -0
  108. package/hardhat.config.ts +7 -0
  109. package/package.json +5 -5
  110. package/scripts/misc/faucetStats.ts +103 -0
  111. package/scripts/upgradeToV2/upgradeToV2.ts +22 -7
  112. package/test/FuseFaucet.test.ts +168 -0
  113. package/test/InvitesV1.test.ts +354 -0
  114. package/test/staking/FuseStaking.test.ts +152 -0
  115. package/types/FuseFaucet.ts +498 -0
  116. package/types/FuseStakingV3.ts +1234 -0
  117. package/types/IConsensus.ts +225 -0
  118. package/types/InvitesV1.ts +797 -0
  119. package/types/OwnableUpgradeable.ts +166 -0
  120. package/types/PegSwap.ts +112 -0
  121. package/types/factories/FuseFaucet__factory.ts +373 -0
  122. package/types/factories/FuseStakingV3__factory.ts +781 -0
  123. package/types/factories/IConsensus__factory.ts +116 -0
  124. package/types/factories/InvitesV1__factory.ts +540 -0
  125. package/types/factories/OwnableUpgradeable__factory.ts +78 -0
  126. package/types/factories/PegSwap__factory.ts +46 -0
  127. package/types/hardhat.d.ts +54 -0
  128. package/types/index.ts +12 -0
@@ -0,0 +1,116 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type { IConsensus, IConsensusInterface } from "../IConsensus";
8
+
9
+ const _abi = [
10
+ {
11
+ inputs: [
12
+ {
13
+ internalType: "address",
14
+ name: "_validator",
15
+ type: "address",
16
+ },
17
+ ],
18
+ name: "delegate",
19
+ outputs: [],
20
+ stateMutability: "payable",
21
+ type: "function",
22
+ },
23
+ {
24
+ inputs: [
25
+ {
26
+ internalType: "address",
27
+ name: "_address",
28
+ type: "address",
29
+ },
30
+ {
31
+ internalType: "address",
32
+ name: "_validator",
33
+ type: "address",
34
+ },
35
+ ],
36
+ name: "delegatedAmount",
37
+ outputs: [
38
+ {
39
+ internalType: "uint256",
40
+ name: "",
41
+ type: "uint256",
42
+ },
43
+ ],
44
+ stateMutability: "view",
45
+ type: "function",
46
+ },
47
+ {
48
+ inputs: [
49
+ {
50
+ internalType: "address",
51
+ name: "_validator",
52
+ type: "address",
53
+ },
54
+ ],
55
+ name: "delegators",
56
+ outputs: [
57
+ {
58
+ internalType: "address[]",
59
+ name: "",
60
+ type: "address[]",
61
+ },
62
+ ],
63
+ stateMutability: "view",
64
+ type: "function",
65
+ },
66
+ {
67
+ inputs: [
68
+ {
69
+ internalType: "address",
70
+ name: "_address",
71
+ type: "address",
72
+ },
73
+ ],
74
+ name: "stakeAmount",
75
+ outputs: [
76
+ {
77
+ internalType: "uint256",
78
+ name: "",
79
+ type: "uint256",
80
+ },
81
+ ],
82
+ stateMutability: "view",
83
+ type: "function",
84
+ },
85
+ {
86
+ inputs: [
87
+ {
88
+ internalType: "address",
89
+ name: "_validator",
90
+ type: "address",
91
+ },
92
+ {
93
+ internalType: "uint256",
94
+ name: "_amount",
95
+ type: "uint256",
96
+ },
97
+ ],
98
+ name: "withdraw",
99
+ outputs: [],
100
+ stateMutability: "nonpayable",
101
+ type: "function",
102
+ },
103
+ ];
104
+
105
+ export class IConsensus__factory {
106
+ static readonly abi = _abi;
107
+ static createInterface(): IConsensusInterface {
108
+ return new utils.Interface(_abi) as IConsensusInterface;
109
+ }
110
+ static connect(
111
+ address: string,
112
+ signerOrProvider: Signer | Provider
113
+ ): IConsensus {
114
+ return new Contract(address, _abi, signerOrProvider) as IConsensus;
115
+ }
116
+ }
@@ -0,0 +1,540 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
6
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
7
+ import type { InvitesV1, InvitesV1Interface } from "../InvitesV1";
8
+
9
+ const _abi = [
10
+ {
11
+ anonymous: false,
12
+ inputs: [
13
+ {
14
+ indexed: true,
15
+ internalType: "address",
16
+ name: "inviter",
17
+ type: "address",
18
+ },
19
+ {
20
+ indexed: true,
21
+ internalType: "address",
22
+ name: "invitee",
23
+ type: "address",
24
+ },
25
+ ],
26
+ name: "InviteeJoined",
27
+ type: "event",
28
+ },
29
+ {
30
+ anonymous: false,
31
+ inputs: [
32
+ {
33
+ indexed: true,
34
+ internalType: "address",
35
+ name: "inviter",
36
+ type: "address",
37
+ },
38
+ {
39
+ indexed: true,
40
+ internalType: "address",
41
+ name: "invitee",
42
+ type: "address",
43
+ },
44
+ {
45
+ indexed: false,
46
+ internalType: "uint256",
47
+ name: "bountyPaid",
48
+ type: "uint256",
49
+ },
50
+ {
51
+ indexed: false,
52
+ internalType: "uint256",
53
+ name: "inviterLevel",
54
+ type: "uint256",
55
+ },
56
+ {
57
+ indexed: false,
58
+ internalType: "bool",
59
+ name: "earnedLevel",
60
+ type: "bool",
61
+ },
62
+ ],
63
+ name: "InviterBounty",
64
+ type: "event",
65
+ },
66
+ {
67
+ inputs: [],
68
+ name: "active",
69
+ outputs: [
70
+ {
71
+ internalType: "bool",
72
+ name: "",
73
+ type: "bool",
74
+ },
75
+ ],
76
+ stateMutability: "view",
77
+ type: "function",
78
+ },
79
+ {
80
+ inputs: [],
81
+ name: "avatar",
82
+ outputs: [
83
+ {
84
+ internalType: "address payable",
85
+ name: "",
86
+ type: "address",
87
+ },
88
+ ],
89
+ stateMutability: "view",
90
+ type: "function",
91
+ },
92
+ {
93
+ inputs: [
94
+ {
95
+ internalType: "address",
96
+ name: "_invitee",
97
+ type: "address",
98
+ },
99
+ ],
100
+ name: "bountyFor",
101
+ outputs: [
102
+ {
103
+ internalType: "uint256",
104
+ name: "bounty",
105
+ type: "uint256",
106
+ },
107
+ ],
108
+ stateMutability: "nonpayable",
109
+ type: "function",
110
+ },
111
+ {
112
+ inputs: [
113
+ {
114
+ internalType: "address",
115
+ name: "_invitee",
116
+ type: "address",
117
+ },
118
+ ],
119
+ name: "canCollectBountyFor",
120
+ outputs: [
121
+ {
122
+ internalType: "bool",
123
+ name: "",
124
+ type: "bool",
125
+ },
126
+ ],
127
+ stateMutability: "view",
128
+ type: "function",
129
+ },
130
+ {
131
+ inputs: [
132
+ {
133
+ internalType: "bytes32",
134
+ name: "",
135
+ type: "bytes32",
136
+ },
137
+ ],
138
+ name: "codeToUser",
139
+ outputs: [
140
+ {
141
+ internalType: "address",
142
+ name: "",
143
+ type: "address",
144
+ },
145
+ ],
146
+ stateMutability: "view",
147
+ type: "function",
148
+ },
149
+ {
150
+ inputs: [],
151
+ name: "collectBounties",
152
+ outputs: [],
153
+ stateMutability: "nonpayable",
154
+ type: "function",
155
+ },
156
+ {
157
+ inputs: [],
158
+ name: "end",
159
+ outputs: [],
160
+ stateMutability: "nonpayable",
161
+ type: "function",
162
+ },
163
+ {
164
+ inputs: [
165
+ {
166
+ internalType: "address",
167
+ name: "_inviter",
168
+ type: "address",
169
+ },
170
+ ],
171
+ name: "getInvitees",
172
+ outputs: [
173
+ {
174
+ internalType: "address[]",
175
+ name: "",
176
+ type: "address[]",
177
+ },
178
+ ],
179
+ stateMutability: "view",
180
+ type: "function",
181
+ },
182
+ {
183
+ inputs: [
184
+ {
185
+ internalType: "address",
186
+ name: "_inviter",
187
+ type: "address",
188
+ },
189
+ ],
190
+ name: "getPendingBounties",
191
+ outputs: [
192
+ {
193
+ internalType: "uint256",
194
+ name: "",
195
+ type: "uint256",
196
+ },
197
+ ],
198
+ stateMutability: "view",
199
+ type: "function",
200
+ },
201
+ {
202
+ inputs: [
203
+ {
204
+ internalType: "address",
205
+ name: "_inviter",
206
+ type: "address",
207
+ },
208
+ ],
209
+ name: "getPendingInvitees",
210
+ outputs: [
211
+ {
212
+ internalType: "address[]",
213
+ name: "",
214
+ type: "address[]",
215
+ },
216
+ ],
217
+ stateMutability: "view",
218
+ type: "function",
219
+ },
220
+ {
221
+ inputs: [],
222
+ name: "goodDollar",
223
+ outputs: [
224
+ {
225
+ internalType: "contract cERC20",
226
+ name: "",
227
+ type: "address",
228
+ },
229
+ ],
230
+ stateMutability: "view",
231
+ type: "function",
232
+ },
233
+ {
234
+ inputs: [],
235
+ name: "identity",
236
+ outputs: [
237
+ {
238
+ internalType: "contract IIdentity",
239
+ name: "",
240
+ type: "address",
241
+ },
242
+ ],
243
+ stateMutability: "view",
244
+ type: "function",
245
+ },
246
+ {
247
+ inputs: [
248
+ {
249
+ internalType: "address payable",
250
+ name: "_avatar",
251
+ type: "address",
252
+ },
253
+ {
254
+ internalType: "address",
255
+ name: "_identity",
256
+ type: "address",
257
+ },
258
+ {
259
+ internalType: "address",
260
+ name: "_gd",
261
+ type: "address",
262
+ },
263
+ {
264
+ internalType: "uint256",
265
+ name: "level0Bounty",
266
+ type: "uint256",
267
+ },
268
+ ],
269
+ name: "initialize",
270
+ outputs: [],
271
+ stateMutability: "nonpayable",
272
+ type: "function",
273
+ },
274
+ {
275
+ inputs: [
276
+ {
277
+ internalType: "bytes32",
278
+ name: "_myCode",
279
+ type: "bytes32",
280
+ },
281
+ {
282
+ internalType: "bytes32",
283
+ name: "_inviterCode",
284
+ type: "bytes32",
285
+ },
286
+ ],
287
+ name: "join",
288
+ outputs: [],
289
+ stateMutability: "nonpayable",
290
+ type: "function",
291
+ },
292
+ {
293
+ inputs: [],
294
+ name: "levelExpirationEnabled",
295
+ outputs: [
296
+ {
297
+ internalType: "bool",
298
+ name: "",
299
+ type: "bool",
300
+ },
301
+ ],
302
+ stateMutability: "view",
303
+ type: "function",
304
+ },
305
+ {
306
+ inputs: [
307
+ {
308
+ internalType: "uint256",
309
+ name: "",
310
+ type: "uint256",
311
+ },
312
+ ],
313
+ name: "levels",
314
+ outputs: [
315
+ {
316
+ internalType: "uint256",
317
+ name: "toNext",
318
+ type: "uint256",
319
+ },
320
+ {
321
+ internalType: "uint256",
322
+ name: "bounty",
323
+ type: "uint256",
324
+ },
325
+ {
326
+ internalType: "uint256",
327
+ name: "daysToComplete",
328
+ type: "uint256",
329
+ },
330
+ ],
331
+ stateMutability: "view",
332
+ type: "function",
333
+ },
334
+ {
335
+ inputs: [],
336
+ name: "owner",
337
+ outputs: [
338
+ {
339
+ internalType: "address",
340
+ name: "",
341
+ type: "address",
342
+ },
343
+ ],
344
+ stateMutability: "view",
345
+ type: "function",
346
+ },
347
+ {
348
+ inputs: [
349
+ {
350
+ internalType: "bool",
351
+ name: "_active",
352
+ type: "bool",
353
+ },
354
+ ],
355
+ name: "setActive",
356
+ outputs: [],
357
+ stateMutability: "nonpayable",
358
+ type: "function",
359
+ },
360
+ {
361
+ inputs: [
362
+ {
363
+ internalType: "uint256",
364
+ name: "_lvl",
365
+ type: "uint256",
366
+ },
367
+ {
368
+ internalType: "uint256",
369
+ name: "_toNext",
370
+ type: "uint256",
371
+ },
372
+ {
373
+ internalType: "uint256",
374
+ name: "_bounty",
375
+ type: "uint256",
376
+ },
377
+ {
378
+ internalType: "uint256",
379
+ name: "_daysToComplete",
380
+ type: "uint256",
381
+ },
382
+ ],
383
+ name: "setLevel",
384
+ outputs: [],
385
+ stateMutability: "nonpayable",
386
+ type: "function",
387
+ },
388
+ {
389
+ inputs: [
390
+ {
391
+ internalType: "bool",
392
+ name: "_isEnabled",
393
+ type: "bool",
394
+ },
395
+ ],
396
+ name: "setLevelExpirationEnabled",
397
+ outputs: [],
398
+ stateMutability: "nonpayable",
399
+ type: "function",
400
+ },
401
+ {
402
+ inputs: [],
403
+ name: "stats",
404
+ outputs: [
405
+ {
406
+ internalType: "uint256",
407
+ name: "totalApprovedInvites",
408
+ type: "uint256",
409
+ },
410
+ {
411
+ internalType: "uint256",
412
+ name: "totalBountiesPaid",
413
+ type: "uint256",
414
+ },
415
+ {
416
+ internalType: "uint256",
417
+ name: "totalInvited",
418
+ type: "uint256",
419
+ },
420
+ ],
421
+ stateMutability: "view",
422
+ type: "function",
423
+ },
424
+ {
425
+ inputs: [
426
+ {
427
+ internalType: "address",
428
+ name: "",
429
+ type: "address",
430
+ },
431
+ ],
432
+ name: "users",
433
+ outputs: [
434
+ {
435
+ internalType: "address",
436
+ name: "invitedBy",
437
+ type: "address",
438
+ },
439
+ {
440
+ internalType: "bytes32",
441
+ name: "inviteCode",
442
+ type: "bytes32",
443
+ },
444
+ {
445
+ internalType: "bool",
446
+ name: "bountyPaid",
447
+ type: "bool",
448
+ },
449
+ {
450
+ internalType: "uint256",
451
+ name: "level",
452
+ type: "uint256",
453
+ },
454
+ {
455
+ internalType: "uint256",
456
+ name: "levelStarted",
457
+ type: "uint256",
458
+ },
459
+ {
460
+ internalType: "uint256",
461
+ name: "totalApprovedInvites",
462
+ type: "uint256",
463
+ },
464
+ {
465
+ internalType: "uint256",
466
+ name: "totalEarned",
467
+ type: "uint256",
468
+ },
469
+ {
470
+ internalType: "uint256",
471
+ name: "joinedAt",
472
+ type: "uint256",
473
+ },
474
+ ],
475
+ stateMutability: "view",
476
+ type: "function",
477
+ },
478
+ {
479
+ inputs: [],
480
+ name: "version",
481
+ outputs: [
482
+ {
483
+ internalType: "string",
484
+ name: "",
485
+ type: "string",
486
+ },
487
+ ],
488
+ stateMutability: "pure",
489
+ type: "function",
490
+ },
491
+ ];
492
+
493
+ const _bytecode =
494
+ "0x608060405234801561001057600080fd5b50611933806100206000396000f3fe608060405234801561001057600080fd5b506004361061011d5760003560e01c806302fb0c5e14610122578063119e5bf31461014b57806321132aad1461016b5780632c159a1a1461018057806341155d5e1461019357806354fd4d50146101b45780635aef7de6146101db5780635b419a65146101ee5780636d619ef8146102015780638da5cb5b14610214578063a1df6fd314610227578063a87430ba14610234578063acec338a146102e0578063af6346b0146102f3578063b2596a67146102fb578063b6567cd514610345578063b9fb2d1814610358578063ba6f56801461036b578063cf756fdf14610394578063d80528ae146103a7578063e951a3aa146103b9578063e9881a5e146103d9578063efbe1c1c146103ec575b600080fd5b60075461013690600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b60075461015e906001600160a01b031681565b604051610142919061156d565b61017e610179366004611592565b6103f4565b005b60065461015e906001600160a01b031681565b6101a66101a13660046115c4565b61044f565b604051908152602001610142565b60408051808201825260058152640312e352e360dc1b6020820152905161014291906115e1565b60035461015e906001600160a01b031681565b61017e6101fc366004611636565b61051c565b61013661020f3660046115c4565b610756565b60055461015e906001600160a01b031681565b6010546101369060ff1681565b6102956102423660046115c4565b6002602081905260009182526040909120805460018201549282015460058301546006840154600785015460088601546009909601546001600160a01b03909516969560ff909416949293919290919088565b604080516001600160a01b0390991689526020890197909752941515958701959095526060860192909252608085015260a084015260c083019190915260e082015261010001610142565b61017e6102ee366004611592565b61094b565b61017e6109a8565b61032a610309366004611658565b60046020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610142565b6101a66103533660046115c4565b610b25565b61017e610366366004611671565b610ba4565b61015e610379366004611658565b6001602052600090815260409020546001600160a01b031681565b61017e6103a23660046116a3565b610c03565b600854600954600a5461032a92919083565b6103cc6103c73660046115c4565b610d47565b60405161014291906116f4565b6103cc6103e73660046115c4565b610f32565b61017e610fab565b6005546001600160a01b031633148061041757506003546001600160a01b031633145b61043c5760405162461bcd60e51b815260040161043390611741565b60405180910390fd5b6010805460ff1916911515919091179055565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835284938301828280156104b957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161049b575b505050505090506000805b8251811015610514576104ef8382815181106104e2576104e261178d565b6020026020010151610756565b1561050257816104fe816117b9565b9250505b8061050c816117b9565b9150506104c4565b509392505050565b600754600160a01b900460ff1661053257600080fd5b6000828152600160205260409020546001600160a01b0316158061056c57506000828152600160205260409020546001600160a01b031633145b6105b55760405162461bcd60e51b815260206004820152601a602482015279696e7669746520636f646520616c726561647920696e2075736560301b6044820152606401610433565b336000908152600260209081526040808320848452600192839052922054908201546001600160a01b0390911690158061060a575081546001600160a01b031615801561060a57506001600160a01b03811615155b61064c5760405162461bcd60e51b81526020600482015260136024820152721d5cd95c88185b1c9958591e481a9bda5b9959606a1b6044820152606401610433565b600182015461068a5760018083018590554260068401819055600984015560008581526020919091526040902080546001600160a01b031916331790555b6001600160a01b0381161561071a5781546001600160a01b0382166001600160a01b0319918216811784556000908152600260209081526040822060038101805460018181018355918552838520018054861633908117909155600490920180548083018255908552928420909201805490941617909255600a80549091906107149084906117d4565b90915550505b60405133906001600160a01b038316907fd8c638d8979e2ba5dba1f0d66246ee4b1c54b838f0e0a2b601365345eb23b05190600090a350505050565b6001600160a01b0380821660009081526002602081815260408084205490941680845284842060050154845260049091529282200154601054919291839060ff16151560011480156107a85750600082115b80156107f357506001600160a01b038084166000908152600260205260408082206006015492881682529020600901546107f09162015180916107ea91611156565b90611169565b82105b90506001600160a01b0383161580159061082a57506001600160a01b0385166000908152600260208190526040909120015460ff16155b80156108b15750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf9061086190889060040161156d565b60206040518083038186803b15801561087957600080fd5b505afa15801561088d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b191906117ec565b80156109385750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf906108e890869060040161156d565b60206040518083038186803b15801561090057600080fd5b505afa158015610914573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093891906117ec565b8015610942575080155b95945050505050565b6005546001600160a01b031633148061096e57506003546001600160a01b031633145b61098a5760405162461bcd60e51b815260040161043390611741565b60078054911515600160a01b0260ff60a01b19909216919091179055565b600754600160a01b900460ff166109be57600080fd5b336000908152600260205260408120600401805490919081906109e390600190611809565b90505b60008112610a9457620186a05a10156109fe57610a94565b6000838281548110610a1257610a1261178d565b6000918252602090912001546001600160a01b03169050610a3281610756565b15610a8157610a42816000611175565b610a4c90846117d4565b925083805480610a5e57610a5e611848565b600082815260209020810160001990810180546001600160a01b03191690550190555b5080610a8c8161185e565b9150506109e6565b508015610b215760075460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90610acd903390859060040161187c565b602060405180830381600087803b158015610ae757600080fd5b505af1158015610afb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1f91906117ec565b505b5050565b600754600090600160a01b900460ff16610b3e57600080fd5b610b4782610756565b610b935760405162461bcd60e51b815260206004820181905260248201527f75736572206e6f7420656c6c6967626c6520666f7220626f756e7479207965746044820152606401610433565b610b9e826001611175565b92915050565b6005546001600160a01b0316331480610bc757506003546001600160a01b031633145b610be35760405162461bcd60e51b815260040161043390611741565b600093845260046020526040909320918255600282019290925560010155565b600054610100900460ff1680610c1c575060005460ff16155b610c7f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610433565b600054610100900460ff16158015610ca1576000805461ffff19166101011790555b60058054336001600160a01b0319918216179091556006805482166001600160a01b0387811691909117909155600780546000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ed869055600160a01b6001600160a81b031990911687841617179055600380549092169087161790556010805460ff191690558015610d40576000805461ff00191690555b5050505050565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835260609493830182828015610db357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d95575b5050505050905060008060005b8351811015610e2d5760026000858381518110610ddf57610ddf61178d565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff16610e1b5781610e17816117b9565b9250505b80610e25816117b9565b915050610dc0565b506000816001600160401b03811115610e4857610e48611895565b604051908082528060200260200182016040528015610e71578160200160208202803683370190505b50905060005b8451811015610f285760026000868381518110610e9657610e9661178d565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff16610f1657848181518110610ed657610ed661178d565b6020026020010151828581518110610ef057610ef061178d565b6001600160a01b039092166020928302919091019091015283610f12816117b9565b9450505b80610f20816117b9565b915050610e77565b5095945050505050565b6001600160a01b038116600090815260026020908152604091829020600301805483518184028101840190945280845260609392830182828015610f9f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610f81575b50505050509050919050565b6005546001600160a01b0316331480610fce57506003546001600160a01b031633145b610fea5760405162461bcd60e51b815260040161043390611741565b600754600160a01b900460ff1661100057600080fd5b6007546040516370a0823160e01b81526000916001600160a01b0316906370a082319061103190309060040161156d565b60206040518083038186803b15801561104957600080fd5b505afa15801561105d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108191906118ab565b60075460035460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb926110b9921690859060040161187c565b602060405180830381600087803b1580156110d357600080fd5b505af11580156110e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110b91906117ec565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611145573d6000803e3d6000fd5b50506007805460ff60a01b19169055565b600061116282846118c4565b9392505050565b600061116282846118db565b6001600160a01b038281166000908152600260208181526040808420805460099091015495168085528185206005908101548652600484528286208351608081018552815481526001820154958101959095529485015484840152825160a081019384905295969195919487949390926060850192909160038501919082845b8154815260200190600101908083116111f5575050505050815250509050600080826040015111801561124257506001600160a01b03841660009081526002602052604090206006015483115b801561128057506001600160a01b0384166000908152600260205260409020600601546112799062015180906107ea908690611156565b8260400151105b6001600160a01b038089166000908152600260208190526040808320909101805460ff1916600190811790915592881682528120600701805493945091926112c99084906117d4565b90915550506020808301516001600160a01b03861660009081526002909252604082206008018054919290916113009084906117d4565b9091555050600880546001919060009061131b9084906117d4565b90915550506020820151600980546000906113379084906117d4565b909155505081516000901580159061136b575082516001600160a01b03861660009081526002602052604090206007015410155b8015611375575081155b156113ce576001600160a01b03851660009081526002602052604081206005018054600192906113a69084906117d4565b9091555050506001600160a01b03841660009081526002602052604090204260069091015560015b861561145e57600754602084015160405163a9059cbb60e01b81526001600160a01b039092169163a9059cbb9161140a9189919060040161187c565b602060405180830381600087803b15801561142457600080fd5b505af1158015611438573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145c91906117ec565b505b60075460208401516001600160a01b039091169063a9059cbb908a90611485906002611169565b6040518363ffffffff1660e01b81526004016114a292919061187c565b602060405180830381600087803b1580156114bc57600080fd5b505af11580156114d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f491906117ec565b506020838101516001600160a01b0387811660008181526002855260409081902060050154815194855294840194909452841515838501529251908b1692917f6081787cd1bd02ab1576c52f03e8710d792d460e7881c3155d77d23893f3768b919081900360600190a350506020015195945050505050565b6001600160a01b0391909116815260200190565b801515811461158f57600080fd5b50565b6000602082840312156115a457600080fd5b813561116281611581565b6001600160a01b038116811461158f57600080fd5b6000602082840312156115d657600080fd5b8135611162816115af565b600060208083528351808285015260005b8181101561160e578581018301518582016040015282016115f2565b81811115611620576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561164957600080fd5b50508035926020909101359150565b60006020828403121561166a57600080fd5b5035919050565b6000806000806080858703121561168757600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080608085870312156116b957600080fd5b84356116c4816115af565b935060208501356116d4816115af565b925060408501356116e4816115af565b9396929550929360600135925050565b6020808252825182820181905260009190848201906040850190845b818110156117355783516001600160a01b031683529284019291840191600101611710565b50909695505050505050565b6020808252602c908201527f4f6e6c79206f776e6572206f72206176617461722063616e20706572666f726d60408201526b103a3434b99030b1ba34b7b760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156117cd576117cd6117a3565b5060010190565b600082198211156117e7576117e76117a3565b500190565b6000602082840312156117fe57600080fd5b815161116281611581565b60008083128015600160ff1b850184121615611827576118276117a3565b6001600160ff1b0384018313811615611842576118426117a3565b50500390565b634e487b7160e01b600052603160045260246000fd5b6000600160ff1b821415611874576118746117a3565b506000190190565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156118bd57600080fd5b5051919050565b6000828210156118d6576118d66117a3565b500390565b6000826118f857634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122015dd911d70d62901f84a692f9972c157cff0056a12826fa1ccf7d0757476c00564736f6c63430008080033";
495
+
496
+ type InvitesV1ConstructorParams =
497
+ | [signer?: Signer]
498
+ | ConstructorParameters<typeof ContractFactory>;
499
+
500
+ const isSuperArgs = (
501
+ xs: InvitesV1ConstructorParams
502
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
503
+
504
+ export class InvitesV1__factory extends ContractFactory {
505
+ constructor(...args: InvitesV1ConstructorParams) {
506
+ if (isSuperArgs(args)) {
507
+ super(...args);
508
+ } else {
509
+ super(_abi, _bytecode, args[0]);
510
+ }
511
+ }
512
+
513
+ deploy(
514
+ overrides?: Overrides & { from?: string | Promise<string> }
515
+ ): Promise<InvitesV1> {
516
+ return super.deploy(overrides || {}) as Promise<InvitesV1>;
517
+ }
518
+ getDeployTransaction(
519
+ overrides?: Overrides & { from?: string | Promise<string> }
520
+ ): TransactionRequest {
521
+ return super.getDeployTransaction(overrides || {});
522
+ }
523
+ attach(address: string): InvitesV1 {
524
+ return super.attach(address) as InvitesV1;
525
+ }
526
+ connect(signer: Signer): InvitesV1__factory {
527
+ return super.connect(signer) as InvitesV1__factory;
528
+ }
529
+ static readonly bytecode = _bytecode;
530
+ static readonly abi = _abi;
531
+ static createInterface(): InvitesV1Interface {
532
+ return new utils.Interface(_abi) as InvitesV1Interface;
533
+ }
534
+ static connect(
535
+ address: string,
536
+ signerOrProvider: Signer | Provider
537
+ ): InvitesV1 {
538
+ return new Contract(address, _abi, signerOrProvider) as InvitesV1;
539
+ }
540
+ }