@gooddollar/goodcollective-contracts 1.0.0

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 (122) hide show
  1. package/README.md +1 -0
  2. package/contracts/DirectPayments/DirectPaymentsFactory.sol +108 -0
  3. package/contracts/DirectPayments/DirectPaymentsPool.sol +333 -0
  4. package/contracts/DirectPayments/ProvableNFT.sol +178 -0
  5. package/package.json +59 -0
  6. package/releases/deployment.json +7118 -0
  7. package/typechain-types/@openzeppelin/contracts/index.ts +7 -0
  8. package/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.ts +115 -0
  9. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.ts +87 -0
  10. package/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  11. package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +6 -0
  12. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.ts +115 -0
  13. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.ts +115 -0
  14. package/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
  15. package/typechain-types/@openzeppelin/contracts/proxy/Proxy.ts +55 -0
  16. package/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.ts +87 -0
  17. package/typechain-types/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
  18. package/typechain-types/@openzeppelin/contracts/proxy/index.ts +8 -0
  19. package/typechain-types/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.ts +410 -0
  20. package/typechain-types/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.ts +341 -0
  21. package/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  22. package/typechain-types/@openzeppelin/contracts-upgradeable/index.ts +13 -0
  23. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.ts +115 -0
  24. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.ts +87 -0
  25. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts +4 -0
  26. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/index.ts +6 -0
  27. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.ts +127 -0
  28. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts +4 -0
  29. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.ts +87 -0
  30. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts +4 -0
  31. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts +9 -0
  32. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +69 -0
  33. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +238 -0
  34. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  35. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.ts +342 -0
  36. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.ts +193 -0
  37. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.ts +193 -0
  38. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/index.ts +4 -0
  39. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.ts +5 -0
  40. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts +6 -0
  41. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.ts +631 -0
  42. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.ts +126 -0
  43. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.ts +559 -0
  44. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.ts +619 -0
  45. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/index.ts +4 -0
  46. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/index.ts +8 -0
  47. package/typechain-types/@openzeppelin/contracts-upgradeable/token/index.ts +7 -0
  48. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +69 -0
  49. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts +6 -0
  50. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.ts +121 -0
  51. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.ts +103 -0
  52. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/index.ts +5 -0
  53. package/typechain-types/@openzeppelin/index.ts +7 -0
  54. package/typechain-types/common.ts +46 -0
  55. package/typechain-types/contracts/DirectPayments/DirectPaymentsFactory.ts +1034 -0
  56. package/typechain-types/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool.ts +1381 -0
  57. package/typechain-types/contracts/DirectPayments/DirectPaymentsPool.sol/IIdentityV2.ts +105 -0
  58. package/typechain-types/contracts/DirectPayments/DirectPaymentsPool.sol/IMembersValidator.ts +125 -0
  59. package/typechain-types/contracts/DirectPayments/DirectPaymentsPool.sol/index.ts +6 -0
  60. package/typechain-types/contracts/DirectPayments/ProvableNFT.ts +1489 -0
  61. package/typechain-types/contracts/DirectPayments/index.ts +7 -0
  62. package/typechain-types/contracts/Lock.ts +148 -0
  63. package/typechain-types/contracts/index.ts +6 -0
  64. package/typechain-types/factories/@openzeppelin/contracts/index.ts +5 -0
  65. package/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.ts +71 -0
  66. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory.ts +39 -0
  67. package/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/index.ts +4 -0
  68. package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +5 -0
  69. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.ts +147 -0
  70. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade__factory.ts +71 -0
  71. package/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +5 -0
  72. package/typechain-types/factories/@openzeppelin/contracts/proxy/Proxy__factory.ts +31 -0
  73. package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.ts +39 -0
  74. package/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.ts +4 -0
  75. package/typechain-types/factories/@openzeppelin/contracts/proxy/index.ts +6 -0
  76. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable__factory.ts +247 -0
  77. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable__factory.ts +202 -0
  78. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  79. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts +8 -0
  80. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable__factory.ts +71 -0
  81. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable__factory.ts +43 -0
  82. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts +4 -0
  83. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/index.ts +5 -0
  84. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable__factory.ts +88 -0
  85. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts +4 -0
  86. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable__factory.ts +39 -0
  87. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts +4 -0
  88. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +6 -0
  89. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +39 -0
  90. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +128 -0
  91. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  92. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory.ts +209 -0
  93. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable__factory.ts +105 -0
  94. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable__factory.ts +105 -0
  95. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/index.ts +4 -0
  96. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.ts +4 -0
  97. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts +5 -0
  98. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable__factory.ts +406 -0
  99. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable__factory.ts +64 -0
  100. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable__factory.ts +311 -0
  101. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable__factory.ts +360 -0
  102. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/index.ts +4 -0
  103. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/index.ts +7 -0
  104. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/index.ts +5 -0
  105. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +39 -0
  106. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +5 -0
  107. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable__factory.ts +58 -0
  108. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable__factory.ts +45 -0
  109. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/index.ts +5 -0
  110. package/typechain-types/factories/@openzeppelin/index.ts +5 -0
  111. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsFactory__factory.ts +707 -0
  112. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool__factory.ts +1094 -0
  113. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsPool.sol/IIdentityV2__factory.ts +45 -0
  114. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsPool.sol/IMembersValidator__factory.ts +60 -0
  115. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsPool.sol/index.ts +6 -0
  116. package/typechain-types/factories/contracts/DirectPayments/ProvableNFT__factory.ts +1184 -0
  117. package/typechain-types/factories/contracts/DirectPayments/index.ts +6 -0
  118. package/typechain-types/factories/contracts/Lock__factory.ts +129 -0
  119. package/typechain-types/factories/contracts/index.ts +5 -0
  120. package/typechain-types/factories/index.ts +5 -0
  121. package/typechain-types/hardhat.d.ts +294 -0
  122. package/typechain-types/index.ts +66 -0
@@ -0,0 +1,1094 @@
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 { PromiseOrValue } from "../../../../common";
7
+ import type {
8
+ DirectPaymentsPool,
9
+ DirectPaymentsPoolInterface,
10
+ } from "../../../../contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [
15
+ {
16
+ internalType: "uint256",
17
+ name: "",
18
+ type: "uint256",
19
+ },
20
+ ],
21
+ name: "ALREADY_CLAIMED",
22
+ type: "error",
23
+ },
24
+ {
25
+ inputs: [
26
+ {
27
+ internalType: "uint256",
28
+ name: "",
29
+ type: "uint256",
30
+ },
31
+ ],
32
+ name: "NFT_MISSING",
33
+ type: "error",
34
+ },
35
+ {
36
+ inputs: [],
37
+ name: "NOT_MANAGER",
38
+ type: "error",
39
+ },
40
+ {
41
+ inputs: [
42
+ {
43
+ internalType: "address",
44
+ name: "",
45
+ type: "address",
46
+ },
47
+ ],
48
+ name: "NOT_MEMBER",
49
+ type: "error",
50
+ },
51
+ {
52
+ inputs: [
53
+ {
54
+ internalType: "address",
55
+ name: "",
56
+ type: "address",
57
+ },
58
+ ],
59
+ name: "NOT_WHITELISTED",
60
+ type: "error",
61
+ },
62
+ {
63
+ inputs: [],
64
+ name: "NO_BALANCE",
65
+ type: "error",
66
+ },
67
+ {
68
+ inputs: [],
69
+ name: "OVER_GLOBAL_LIMITS",
70
+ type: "error",
71
+ },
72
+ {
73
+ inputs: [
74
+ {
75
+ internalType: "address",
76
+ name: "",
77
+ type: "address",
78
+ },
79
+ ],
80
+ name: "OVER_MEMBER_LIMITS",
81
+ type: "error",
82
+ },
83
+ {
84
+ inputs: [],
85
+ name: "UNSUPPORTED_NFT",
86
+ type: "error",
87
+ },
88
+ {
89
+ anonymous: false,
90
+ inputs: [
91
+ {
92
+ indexed: false,
93
+ internalType: "address",
94
+ name: "previousAdmin",
95
+ type: "address",
96
+ },
97
+ {
98
+ indexed: false,
99
+ internalType: "address",
100
+ name: "newAdmin",
101
+ type: "address",
102
+ },
103
+ ],
104
+ name: "AdminChanged",
105
+ type: "event",
106
+ },
107
+ {
108
+ anonymous: false,
109
+ inputs: [
110
+ {
111
+ indexed: true,
112
+ internalType: "address",
113
+ name: "beacon",
114
+ type: "address",
115
+ },
116
+ ],
117
+ name: "BeaconUpgraded",
118
+ type: "event",
119
+ },
120
+ {
121
+ anonymous: false,
122
+ inputs: [
123
+ {
124
+ indexed: false,
125
+ internalType: "uint8",
126
+ name: "version",
127
+ type: "uint8",
128
+ },
129
+ ],
130
+ name: "Initialized",
131
+ type: "event",
132
+ },
133
+ {
134
+ anonymous: false,
135
+ inputs: [
136
+ {
137
+ indexed: false,
138
+ internalType: "address",
139
+ name: "member",
140
+ type: "address",
141
+ },
142
+ ],
143
+ name: "MemberAdded",
144
+ type: "event",
145
+ },
146
+ {
147
+ anonymous: false,
148
+ inputs: [
149
+ {
150
+ indexed: false,
151
+ internalType: "address",
152
+ name: "member",
153
+ type: "address",
154
+ },
155
+ ],
156
+ name: "MemberRemoved",
157
+ type: "event",
158
+ },
159
+ {
160
+ anonymous: false,
161
+ inputs: [
162
+ {
163
+ components: [
164
+ {
165
+ internalType: "uint256",
166
+ name: "maxTotalPerMonth",
167
+ type: "uint256",
168
+ },
169
+ {
170
+ internalType: "uint256",
171
+ name: "maxMemberPerMonth",
172
+ type: "uint256",
173
+ },
174
+ {
175
+ internalType: "uint256",
176
+ name: "maxMemberPerDay",
177
+ type: "uint256",
178
+ },
179
+ ],
180
+ indexed: false,
181
+ internalType: "struct DirectPaymentsPool.SafetyLimits",
182
+ name: "limits",
183
+ type: "tuple",
184
+ },
185
+ ],
186
+ name: "PoolLimitsChanged",
187
+ type: "event",
188
+ },
189
+ {
190
+ anonymous: false,
191
+ inputs: [
192
+ {
193
+ components: [
194
+ {
195
+ internalType: "uint32",
196
+ name: "nftType",
197
+ type: "uint32",
198
+ },
199
+ {
200
+ internalType: "uint16[]",
201
+ name: "validEvents",
202
+ type: "uint16[]",
203
+ },
204
+ {
205
+ internalType: "uint128[]",
206
+ name: "rewardPerEvent",
207
+ type: "uint128[]",
208
+ },
209
+ {
210
+ internalType: "address",
211
+ name: "manager",
212
+ type: "address",
213
+ },
214
+ {
215
+ internalType: "contract IMembersValidator",
216
+ name: "membersValidator",
217
+ type: "address",
218
+ },
219
+ {
220
+ internalType: "contract IIdentityV2",
221
+ name: "uniqunessValidator",
222
+ type: "address",
223
+ },
224
+ {
225
+ internalType: "contract IERC20Upgradeable",
226
+ name: "rewardToken",
227
+ type: "address",
228
+ },
229
+ ],
230
+ indexed: false,
231
+ internalType: "struct DirectPaymentsPool.PoolSettings",
232
+ name: "settings",
233
+ type: "tuple",
234
+ },
235
+ ],
236
+ name: "PoolSettingsChanged",
237
+ type: "event",
238
+ },
239
+ {
240
+ anonymous: false,
241
+ inputs: [
242
+ {
243
+ indexed: true,
244
+ internalType: "uint256",
245
+ name: "tokenId",
246
+ type: "uint256",
247
+ },
248
+ {
249
+ indexed: false,
250
+ internalType: "uint256",
251
+ name: "totalRewards",
252
+ type: "uint256",
253
+ },
254
+ ],
255
+ name: "RewardClaimed",
256
+ type: "event",
257
+ },
258
+ {
259
+ anonymous: false,
260
+ inputs: [
261
+ {
262
+ indexed: true,
263
+ internalType: "bytes32",
264
+ name: "role",
265
+ type: "bytes32",
266
+ },
267
+ {
268
+ indexed: true,
269
+ internalType: "bytes32",
270
+ name: "previousAdminRole",
271
+ type: "bytes32",
272
+ },
273
+ {
274
+ indexed: true,
275
+ internalType: "bytes32",
276
+ name: "newAdminRole",
277
+ type: "bytes32",
278
+ },
279
+ ],
280
+ name: "RoleAdminChanged",
281
+ type: "event",
282
+ },
283
+ {
284
+ anonymous: false,
285
+ inputs: [
286
+ {
287
+ indexed: true,
288
+ internalType: "bytes32",
289
+ name: "role",
290
+ type: "bytes32",
291
+ },
292
+ {
293
+ indexed: true,
294
+ internalType: "address",
295
+ name: "account",
296
+ type: "address",
297
+ },
298
+ {
299
+ indexed: true,
300
+ internalType: "address",
301
+ name: "sender",
302
+ type: "address",
303
+ },
304
+ ],
305
+ name: "RoleGranted",
306
+ type: "event",
307
+ },
308
+ {
309
+ anonymous: false,
310
+ inputs: [
311
+ {
312
+ indexed: true,
313
+ internalType: "bytes32",
314
+ name: "role",
315
+ type: "bytes32",
316
+ },
317
+ {
318
+ indexed: true,
319
+ internalType: "address",
320
+ name: "account",
321
+ type: "address",
322
+ },
323
+ {
324
+ indexed: true,
325
+ internalType: "address",
326
+ name: "sender",
327
+ type: "address",
328
+ },
329
+ ],
330
+ name: "RoleRevoked",
331
+ type: "event",
332
+ },
333
+ {
334
+ anonymous: false,
335
+ inputs: [
336
+ {
337
+ indexed: true,
338
+ internalType: "address",
339
+ name: "implementation",
340
+ type: "address",
341
+ },
342
+ ],
343
+ name: "Upgraded",
344
+ type: "event",
345
+ },
346
+ {
347
+ inputs: [],
348
+ name: "DEFAULT_ADMIN_ROLE",
349
+ outputs: [
350
+ {
351
+ internalType: "bytes32",
352
+ name: "",
353
+ type: "bytes32",
354
+ },
355
+ ],
356
+ stateMutability: "view",
357
+ type: "function",
358
+ },
359
+ {
360
+ inputs: [],
361
+ name: "MANAGER_ROLE",
362
+ outputs: [
363
+ {
364
+ internalType: "bytes32",
365
+ name: "",
366
+ type: "bytes32",
367
+ },
368
+ ],
369
+ stateMutability: "view",
370
+ type: "function",
371
+ },
372
+ {
373
+ inputs: [],
374
+ name: "MINTER_ROLE",
375
+ outputs: [
376
+ {
377
+ internalType: "bytes32",
378
+ name: "",
379
+ type: "bytes32",
380
+ },
381
+ ],
382
+ stateMutability: "view",
383
+ type: "function",
384
+ },
385
+ {
386
+ inputs: [
387
+ {
388
+ internalType: "address",
389
+ name: "member",
390
+ type: "address",
391
+ },
392
+ {
393
+ internalType: "bytes",
394
+ name: "extraData",
395
+ type: "bytes",
396
+ },
397
+ ],
398
+ name: "addMember",
399
+ outputs: [],
400
+ stateMutability: "nonpayable",
401
+ type: "function",
402
+ },
403
+ {
404
+ inputs: [
405
+ {
406
+ internalType: "uint256",
407
+ name: "_nftId",
408
+ type: "uint256",
409
+ },
410
+ ],
411
+ name: "claim",
412
+ outputs: [],
413
+ stateMutability: "nonpayable",
414
+ type: "function",
415
+ },
416
+ {
417
+ inputs: [
418
+ {
419
+ internalType: "uint256",
420
+ name: "_nftId",
421
+ type: "uint256",
422
+ },
423
+ {
424
+ components: [
425
+ {
426
+ internalType: "uint32",
427
+ name: "nftType",
428
+ type: "uint32",
429
+ },
430
+ {
431
+ internalType: "uint16",
432
+ name: "version",
433
+ type: "uint16",
434
+ },
435
+ {
436
+ internalType: "string",
437
+ name: "nftUri",
438
+ type: "string",
439
+ },
440
+ {
441
+ components: [
442
+ {
443
+ internalType: "uint16",
444
+ name: "subtype",
445
+ type: "uint16",
446
+ },
447
+ {
448
+ internalType: "uint32",
449
+ name: "timestamp",
450
+ type: "uint32",
451
+ },
452
+ {
453
+ internalType: "uint256",
454
+ name: "quantity",
455
+ type: "uint256",
456
+ },
457
+ {
458
+ internalType: "string",
459
+ name: "eventUri",
460
+ type: "string",
461
+ },
462
+ {
463
+ internalType: "address[]",
464
+ name: "contributers",
465
+ type: "address[]",
466
+ },
467
+ ],
468
+ internalType: "struct ProvableNFT.EventData[]",
469
+ name: "events",
470
+ type: "tuple[]",
471
+ },
472
+ ],
473
+ internalType: "struct ProvableNFT.NFTData",
474
+ name: "_data",
475
+ type: "tuple",
476
+ },
477
+ ],
478
+ name: "claim",
479
+ outputs: [],
480
+ stateMutability: "nonpayable",
481
+ type: "function",
482
+ },
483
+ {
484
+ inputs: [
485
+ {
486
+ internalType: "uint256",
487
+ name: "",
488
+ type: "uint256",
489
+ },
490
+ ],
491
+ name: "claimedNfts",
492
+ outputs: [
493
+ {
494
+ internalType: "bool",
495
+ name: "",
496
+ type: "bool",
497
+ },
498
+ ],
499
+ stateMutability: "view",
500
+ type: "function",
501
+ },
502
+ {
503
+ inputs: [],
504
+ name: "createdBy",
505
+ outputs: [
506
+ {
507
+ internalType: "address",
508
+ name: "",
509
+ type: "address",
510
+ },
511
+ ],
512
+ stateMutability: "view",
513
+ type: "function",
514
+ },
515
+ {
516
+ inputs: [
517
+ {
518
+ internalType: "bytes32",
519
+ name: "role",
520
+ type: "bytes32",
521
+ },
522
+ ],
523
+ name: "getRoleAdmin",
524
+ outputs: [
525
+ {
526
+ internalType: "bytes32",
527
+ name: "",
528
+ type: "bytes32",
529
+ },
530
+ ],
531
+ stateMutability: "view",
532
+ type: "function",
533
+ },
534
+ {
535
+ inputs: [],
536
+ name: "globalLimits",
537
+ outputs: [
538
+ {
539
+ internalType: "uint128",
540
+ name: "daily",
541
+ type: "uint128",
542
+ },
543
+ {
544
+ internalType: "uint128",
545
+ name: "monthly",
546
+ type: "uint128",
547
+ },
548
+ {
549
+ internalType: "uint128",
550
+ name: "total",
551
+ type: "uint128",
552
+ },
553
+ {
554
+ internalType: "uint64",
555
+ name: "lastReward",
556
+ type: "uint64",
557
+ },
558
+ {
559
+ internalType: "uint64",
560
+ name: "lastMonth",
561
+ type: "uint64",
562
+ },
563
+ ],
564
+ stateMutability: "view",
565
+ type: "function",
566
+ },
567
+ {
568
+ inputs: [
569
+ {
570
+ internalType: "bytes32",
571
+ name: "role",
572
+ type: "bytes32",
573
+ },
574
+ {
575
+ internalType: "address",
576
+ name: "account",
577
+ type: "address",
578
+ },
579
+ ],
580
+ name: "grantRole",
581
+ outputs: [],
582
+ stateMutability: "nonpayable",
583
+ type: "function",
584
+ },
585
+ {
586
+ inputs: [
587
+ {
588
+ internalType: "bytes32",
589
+ name: "role",
590
+ type: "bytes32",
591
+ },
592
+ {
593
+ internalType: "address",
594
+ name: "account",
595
+ type: "address",
596
+ },
597
+ ],
598
+ name: "hasRole",
599
+ outputs: [
600
+ {
601
+ internalType: "bool",
602
+ name: "",
603
+ type: "bool",
604
+ },
605
+ ],
606
+ stateMutability: "view",
607
+ type: "function",
608
+ },
609
+ {
610
+ inputs: [
611
+ {
612
+ internalType: "contract ProvableNFT",
613
+ name: "_nft",
614
+ type: "address",
615
+ },
616
+ {
617
+ components: [
618
+ {
619
+ internalType: "uint32",
620
+ name: "nftType",
621
+ type: "uint32",
622
+ },
623
+ {
624
+ internalType: "uint16[]",
625
+ name: "validEvents",
626
+ type: "uint16[]",
627
+ },
628
+ {
629
+ internalType: "uint128[]",
630
+ name: "rewardPerEvent",
631
+ type: "uint128[]",
632
+ },
633
+ {
634
+ internalType: "address",
635
+ name: "manager",
636
+ type: "address",
637
+ },
638
+ {
639
+ internalType: "contract IMembersValidator",
640
+ name: "membersValidator",
641
+ type: "address",
642
+ },
643
+ {
644
+ internalType: "contract IIdentityV2",
645
+ name: "uniqunessValidator",
646
+ type: "address",
647
+ },
648
+ {
649
+ internalType: "contract IERC20Upgradeable",
650
+ name: "rewardToken",
651
+ type: "address",
652
+ },
653
+ ],
654
+ internalType: "struct DirectPaymentsPool.PoolSettings",
655
+ name: "_settings",
656
+ type: "tuple",
657
+ },
658
+ {
659
+ components: [
660
+ {
661
+ internalType: "uint256",
662
+ name: "maxTotalPerMonth",
663
+ type: "uint256",
664
+ },
665
+ {
666
+ internalType: "uint256",
667
+ name: "maxMemberPerMonth",
668
+ type: "uint256",
669
+ },
670
+ {
671
+ internalType: "uint256",
672
+ name: "maxMemberPerDay",
673
+ type: "uint256",
674
+ },
675
+ ],
676
+ internalType: "struct DirectPaymentsPool.SafetyLimits",
677
+ name: "_limits",
678
+ type: "tuple",
679
+ },
680
+ ],
681
+ name: "initialize",
682
+ outputs: [],
683
+ stateMutability: "nonpayable",
684
+ type: "function",
685
+ },
686
+ {
687
+ inputs: [],
688
+ name: "limits",
689
+ outputs: [
690
+ {
691
+ internalType: "uint256",
692
+ name: "maxTotalPerMonth",
693
+ type: "uint256",
694
+ },
695
+ {
696
+ internalType: "uint256",
697
+ name: "maxMemberPerMonth",
698
+ type: "uint256",
699
+ },
700
+ {
701
+ internalType: "uint256",
702
+ name: "maxMemberPerDay",
703
+ type: "uint256",
704
+ },
705
+ ],
706
+ stateMutability: "view",
707
+ type: "function",
708
+ },
709
+ {
710
+ inputs: [
711
+ {
712
+ internalType: "address",
713
+ name: "",
714
+ type: "address",
715
+ },
716
+ ],
717
+ name: "memberLimits",
718
+ outputs: [
719
+ {
720
+ internalType: "uint128",
721
+ name: "daily",
722
+ type: "uint128",
723
+ },
724
+ {
725
+ internalType: "uint128",
726
+ name: "monthly",
727
+ type: "uint128",
728
+ },
729
+ {
730
+ internalType: "uint128",
731
+ name: "total",
732
+ type: "uint128",
733
+ },
734
+ {
735
+ internalType: "uint64",
736
+ name: "lastReward",
737
+ type: "uint64",
738
+ },
739
+ {
740
+ internalType: "uint64",
741
+ name: "lastMonth",
742
+ type: "uint64",
743
+ },
744
+ ],
745
+ stateMutability: "view",
746
+ type: "function",
747
+ },
748
+ {
749
+ inputs: [
750
+ {
751
+ internalType: "address",
752
+ name: "",
753
+ type: "address",
754
+ },
755
+ ],
756
+ name: "members",
757
+ outputs: [
758
+ {
759
+ internalType: "bool",
760
+ name: "",
761
+ type: "bool",
762
+ },
763
+ ],
764
+ stateMutability: "view",
765
+ type: "function",
766
+ },
767
+ {
768
+ inputs: [
769
+ {
770
+ internalType: "address",
771
+ name: "_to",
772
+ type: "address",
773
+ },
774
+ {
775
+ components: [
776
+ {
777
+ internalType: "uint32",
778
+ name: "nftType",
779
+ type: "uint32",
780
+ },
781
+ {
782
+ internalType: "uint16",
783
+ name: "version",
784
+ type: "uint16",
785
+ },
786
+ {
787
+ internalType: "string",
788
+ name: "nftUri",
789
+ type: "string",
790
+ },
791
+ {
792
+ components: [
793
+ {
794
+ internalType: "uint16",
795
+ name: "subtype",
796
+ type: "uint16",
797
+ },
798
+ {
799
+ internalType: "uint32",
800
+ name: "timestamp",
801
+ type: "uint32",
802
+ },
803
+ {
804
+ internalType: "uint256",
805
+ name: "quantity",
806
+ type: "uint256",
807
+ },
808
+ {
809
+ internalType: "string",
810
+ name: "eventUri",
811
+ type: "string",
812
+ },
813
+ {
814
+ internalType: "address[]",
815
+ name: "contributers",
816
+ type: "address[]",
817
+ },
818
+ ],
819
+ internalType: "struct ProvableNFT.EventData[]",
820
+ name: "events",
821
+ type: "tuple[]",
822
+ },
823
+ ],
824
+ internalType: "struct ProvableNFT.NFTData",
825
+ name: "_nftData",
826
+ type: "tuple",
827
+ },
828
+ {
829
+ internalType: "bool",
830
+ name: "withClaim",
831
+ type: "bool",
832
+ },
833
+ ],
834
+ name: "mintNFT",
835
+ outputs: [],
836
+ stateMutability: "nonpayable",
837
+ type: "function",
838
+ },
839
+ {
840
+ inputs: [],
841
+ name: "nft",
842
+ outputs: [
843
+ {
844
+ internalType: "contract ProvableNFT",
845
+ name: "",
846
+ type: "address",
847
+ },
848
+ ],
849
+ stateMutability: "view",
850
+ type: "function",
851
+ },
852
+ {
853
+ inputs: [
854
+ {
855
+ internalType: "address",
856
+ name: "operator",
857
+ type: "address",
858
+ },
859
+ {
860
+ internalType: "address",
861
+ name: "from",
862
+ type: "address",
863
+ },
864
+ {
865
+ internalType: "uint256",
866
+ name: "tokenId",
867
+ type: "uint256",
868
+ },
869
+ {
870
+ internalType: "bytes",
871
+ name: "data",
872
+ type: "bytes",
873
+ },
874
+ ],
875
+ name: "onERC721Received",
876
+ outputs: [
877
+ {
878
+ internalType: "bytes4",
879
+ name: "",
880
+ type: "bytes4",
881
+ },
882
+ ],
883
+ stateMutability: "nonpayable",
884
+ type: "function",
885
+ },
886
+ {
887
+ inputs: [],
888
+ name: "proxiableUUID",
889
+ outputs: [
890
+ {
891
+ internalType: "bytes32",
892
+ name: "",
893
+ type: "bytes32",
894
+ },
895
+ ],
896
+ stateMutability: "view",
897
+ type: "function",
898
+ },
899
+ {
900
+ inputs: [
901
+ {
902
+ internalType: "address",
903
+ name: "member",
904
+ type: "address",
905
+ },
906
+ ],
907
+ name: "removeMember",
908
+ outputs: [],
909
+ stateMutability: "nonpayable",
910
+ type: "function",
911
+ },
912
+ {
913
+ inputs: [
914
+ {
915
+ internalType: "bytes32",
916
+ name: "role",
917
+ type: "bytes32",
918
+ },
919
+ {
920
+ internalType: "address",
921
+ name: "account",
922
+ type: "address",
923
+ },
924
+ ],
925
+ name: "renounceRole",
926
+ outputs: [],
927
+ stateMutability: "nonpayable",
928
+ type: "function",
929
+ },
930
+ {
931
+ inputs: [
932
+ {
933
+ internalType: "bytes32",
934
+ name: "role",
935
+ type: "bytes32",
936
+ },
937
+ {
938
+ internalType: "address",
939
+ name: "account",
940
+ type: "address",
941
+ },
942
+ ],
943
+ name: "revokeRole",
944
+ outputs: [],
945
+ stateMutability: "nonpayable",
946
+ type: "function",
947
+ },
948
+ {
949
+ inputs: [],
950
+ name: "settings",
951
+ outputs: [
952
+ {
953
+ internalType: "uint32",
954
+ name: "nftType",
955
+ type: "uint32",
956
+ },
957
+ {
958
+ internalType: "address",
959
+ name: "manager",
960
+ type: "address",
961
+ },
962
+ {
963
+ internalType: "contract IMembersValidator",
964
+ name: "membersValidator",
965
+ type: "address",
966
+ },
967
+ {
968
+ internalType: "contract IIdentityV2",
969
+ name: "uniqunessValidator",
970
+ type: "address",
971
+ },
972
+ {
973
+ internalType: "contract IERC20Upgradeable",
974
+ name: "rewardToken",
975
+ type: "address",
976
+ },
977
+ ],
978
+ stateMutability: "view",
979
+ type: "function",
980
+ },
981
+ {
982
+ inputs: [
983
+ {
984
+ internalType: "bytes4",
985
+ name: "interfaceId",
986
+ type: "bytes4",
987
+ },
988
+ ],
989
+ name: "supportsInterface",
990
+ outputs: [
991
+ {
992
+ internalType: "bool",
993
+ name: "",
994
+ type: "bool",
995
+ },
996
+ ],
997
+ stateMutability: "view",
998
+ type: "function",
999
+ },
1000
+ {
1001
+ inputs: [
1002
+ {
1003
+ internalType: "address",
1004
+ name: "newImplementation",
1005
+ type: "address",
1006
+ },
1007
+ ],
1008
+ name: "upgradeTo",
1009
+ outputs: [],
1010
+ stateMutability: "nonpayable",
1011
+ type: "function",
1012
+ },
1013
+ {
1014
+ inputs: [
1015
+ {
1016
+ internalType: "address",
1017
+ name: "newImplementation",
1018
+ type: "address",
1019
+ },
1020
+ {
1021
+ internalType: "bytes",
1022
+ name: "data",
1023
+ type: "bytes",
1024
+ },
1025
+ ],
1026
+ name: "upgradeToAndCall",
1027
+ outputs: [],
1028
+ stateMutability: "payable",
1029
+ type: "function",
1030
+ },
1031
+ {
1032
+ inputs: [
1033
+ {
1034
+ internalType: "bytes",
1035
+ name: "data",
1036
+ type: "bytes",
1037
+ },
1038
+ ],
1039
+ name: "upgradeToLatest",
1040
+ outputs: [],
1041
+ stateMutability: "payable",
1042
+ type: "function",
1043
+ },
1044
+ ] as const;
1045
+
1046
+ const _bytecode =
1047
+ "0x60a06040523060805234801561001457600080fd5b506080516134a961005a60003960008181610870015281816108b0015281816109a7015281816109e701528181610a56015281816110a401526110e401526134a96000f3fe6080604052600436106101475760003560e01c80630150aefb1461014c57806301ffc9a71461019257806308ae4b0c146101b25780630b1ca49a146101e3578063150b7a02146102055780631bb15f3d1461023e578063248a9ca3146102ea5780632f2ff15d1461031857806336568abe146103385780633659cfe614610358578063379607f5146103785780633a5673a41461039857806347ccca02146103c65780634f1ef286146103e757806352d1902d146103fa5780636180c7931461040f578063860aefcf1461042f57806391d148541461046c5780639894b52f1461048c5780639986a376146104ac578063a217fddf146104cc578063a49b2713146104e1578063ae82720014610501578063c2e11e3f14610514578063d539139314610562578063d547741f14610584578063e06174e4146105a4578063ec87621c14610620575b600080fd5b34801561015857600080fd5b5061017d6101673660046124d7565b6101066020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561019e57600080fd5b5061017d6101ad3660046124f0565b610654565b3480156101be57600080fd5b5061017d6101cd36600461253f565b6101076020526000908152604090205460ff1681565b3480156101ef57600080fd5b506102036101fe36600461253f565b61068b565b005b34801561021157600080fd5b5061022561022036600461255c565b6106f3565b6040516001600160e01b03199091168152602001610189565b34801561024a57600080fd5b506102a661025936600461253f565b61010860205260009081526040902080546001909101546001600160801b0380831692600160801b90819004821692918216916001600160401b03918104821691600160c01b9091041685565b604080516001600160801b039687168152948616602086015292909416918301919091526001600160401b039081166060830152909116608082015260a001610189565b3480156102f657600080fd5b5061030a6103053660046124d7565b6107ad565b604051908152602001610189565b34801561032457600080fd5b506102036103333660046125fa565b6107c2565b34801561034457600080fd5b506102036103533660046125fa565b6107e3565b34801561036457600080fd5b5061020361037336600461253f565b610866565b34801561038457600080fd5b506102036103933660046124d7565b610925565b3480156103a457600080fd5b5061010b546103b9906001600160a01b031681565b604051610189919061262a565b3480156103d257600080fd5b50610105546103b9906001600160a01b031681565b6102036103f536600461276d565b61099d565b34801561040657600080fd5b5061030a610a49565b34801561041b57600080fd5b5061020361042a36600461276d565b610af7565b34801561043b57600080fd5b5061010254610103546101045461045192919083565b60408051938452602084019290925290820152606001610189565b34801561047857600080fd5b5061017d6104873660046125fa565b610cdf565b34801561049857600080fd5b506102036104a7366004612a09565b610d0a565b3480156104b857600080fd5b506102036104c7366004612b75565b610dc1565b3480156104d857600080fd5b5061030a600081565b3480156104ed57600080fd5b506102036104fc366004612c8e565b610fef565b61020361050f366004612cf1565b61109a565b34801561052057600080fd5b506101095461010a546102a6916001600160801b0380821692600160801b92839004821692918116916001600160401b03908204811691600160c01b90041685565b34801561056e57600080fd5b5061030a6000805160206133ed83398151915281565b34801561059057600080fd5b5061020361059f3660046125fa565b6111b7565b3480156105b057600080fd5b5060fb5460fe5460ff5461010054610101546105e39463ffffffff16936001600160a01b03908116938116928116911685565b6040805163ffffffff90961686526001600160a01b039485166020870152928416928501929092528216606084015216608082015260a001610189565b34801561062c57600080fd5b5061030a7f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0881565b60006001600160e01b03198216637965db0b60e01b148061068557506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000610696816111d3565b6001600160a01b0382166000908152610107602052604090819020805460ff19169055517f6e76fb4c77256006d9c38ec7d82b45a8c8f3c27b1d6766fffc42dfb8de684492906106e790849061262a565b60405180910390a15050565b610105546040516302b5313d60e21b81526004810185905260009182916001600160a01b0390911690630ad4c4f490602401600060405180830381865afa158015610742573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261076a9190810190612df2565b60fb54815191925063ffffffff91821691161461079a5760405163f26722ad60e01b815260040160405180910390fd5b50630a85bd0160e11b9695505050505050565b60009081526065602052604090206001015490565b6107cb826107ad565b6107d4816111d3565b6107de83836111dd565b505050565b6001600160a01b03811633146108585760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6108628282611263565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108ae5760405162461bcd60e51b815260040161084f90612fa4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108e06112ca565b6001600160a01b0316146109065760405162461bcd60e51b815260040161084f90612fde565b60408051600080825260208201909252610922918391906112e6565b50565b610105546040516302b5313d60e21b8152600481018390526109229183916001600160a01b0390911690630ad4c4f490602401600060405180830381865afa158015610975573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104a79190810190612df2565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109e55760405162461bcd60e51b815260040161084f90612fa4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a176112ca565b6001600160a01b031614610a3d5760405162461bcd60e51b815260040161084f90612fde565b610862828260016112e6565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ae45760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161084f565b5060008051602061342d83398151915290565b610100546001600160a01b031615610bab57610100546040516316874da360e11b81526000916001600160a01b031690632d0e9b4690610b3b90869060040161262a565b6020604051808303816000875af1158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190613018565b90506001600160a01b038116610ba95782604051630b7b234960e01b815260040161084f919061262a565b505b60ff546001600160a01b031615610c5e5760ff546040516356a42afd60e11b81526001600160a01b039091169063ad4855fa90610bf2903090339087908790600401613061565b6020604051808303816000875af1158015610c11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c35919061309f565b1515600003610c59578160405163130f4a3760e11b815260040161084f919061262a565b610c8b565b610c69600033610cdf565b1515600003610c8b57604051634df0b5ad60e11b815260040160405180910390fd5b6001600160a01b0382166000908152610107602052604090819020805460ff19166001179055517fb251eb052afc73ffd02ffe85ad79990a8b3fed60d76dbc2fa2fdd7123dffd914906106e790849061262a565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61010554604051638055b10f60e01b81526001600160a01b0390911690638055b10f90610d3d90859085906004016131d7565b600060405180830381865afa158015610d5a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d829190810190612df2565b506000828152610106602052604090205460ff1615610db7576040516330e51df560e11b81526004810183905260240161084f565b6108628282611451565b600054610100900460ff1615808015610de15750600054600160ff909116105b80610e025750610df03061164f565b158015610e02575060005460ff166001145b610e655760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161084f565b6000805460ff191660011790558015610e88576000805461ff0019166101001790555b61010b80546001600160a01b03191633179055825160fb805463ffffffff90921663ffffffff19909216919091178155602080850151805160059387939092610ed89260fc929190910190612373565b5060408201518051610ef491600284019160209091019061241c565b5060608201516003820180546001600160a01b03199081166001600160a01b03938416179091556080840151600484018054831691841691909117905560a0840151600584018054831691841691909117905560c090930151600690920180548416928216929092179091558451610102556020850151610103556040850151610104556101058054909216908716179055610f9160003361165e565b610fa26000801b856060015161165e565b508015610fe9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000805160206133ed833981519152611007816111d3565b6101055460405163149e33f960e31b81526000916001600160a01b03169063a4f19fc89061103e90889088906001906004016131f0565b6020604051808303816000875af115801561105d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110819190613233565b90508215611093576110938185610d0a565b5050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036110e25760405162461bcd60e51b815260040161084f90612fa4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111146112ca565b6001600160a01b03161461113a5760405162461bcd60e51b815260040161084f90612fde565b61010b5460408051638abf607760e01b815290516000926001600160a01b031691638abf60779160048083019260209291908290030181865afa158015611185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a99190613018565b9050610862818360006112e6565b6111c0826107ad565b6111c9816111d3565b6107de8383611263565b6109228133611668565b6111e78282610cdf565b6108625760008281526065602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561121f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61126d8282610cdf565b156108625760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602061342d833981519152546001600160a01b031690565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611319576107de836116c1565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611373575060408051601f3d908101601f1916820190925261137091810190613233565b60015b6113d65760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161084f565b60008051602061342d83398151915281146114455760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161084f565b506107de83838361175b565b60008281526101066020526040808220805460ff191660011790556101015490516370a0823160e01b815282916001600160a01b0316906370a082319061149c90309060040161262a565b602060405180830381865afa1580156114b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114dd9190613233565b905060005b83606001515181101561160e57600061151b8560600151838151811061150a5761150a61324c565b602002602001015160000151611780565b90506001600160801b038116156115fb57846060015182815181106115425761154261324c565b602002602001015160400151816001600160801b03166115629190613278565b61156c908561328f565b93508284111561158f5760405163701b93d160e11b815260040160405180910390fd5b61159984846132a2565b92506115fb856060015183815181106115b4576115b461324c565b602002602001015160800151866060015184815181106115d6576115d661324c565b602002602001015160400151836001600160801b03166115f69190613278565b611834565b5080611606816132b5565b9150506114e2565b50837f47b0878030426a9511b1cd915a0ac34bd29f33d4f846616b55847303ff8ebcbe8360405161164191815260200190565b60405180910390a250505050565b6001600160a01b03163b151590565b61086282826111dd565b6116728282610cdf565b6108625761167f816118d6565b61168a8360206118e8565b60405160200161169b9291906132ce565b60408051601f198184030181529082905262461bcd60e51b825261084f9160040161333d565b6116ca8161164f565b61172c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161084f565b60008051602061342d83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61176483611a8a565b6000825111806117715750805b156107de57610fe98383611aca565b6000805b60fc5481101561182b5760fc8054829081106117a2576117a261324c565b90600052602060002090601091828204019190066002029054906101000a900461ffff1661ffff168361ffff16036118195760fd8054829081106117e8576117e861324c565b90600052602060002090600291828204019190066010029054906101000a90046001600160801b0316915050919050565b80611823816132b5565b915050611784565b50600092915050565b60008251826001600160801b031661184c9190613350565b905060005b83518110156118cc5761187d84828151811061186f5761186f61324c565b602002602001015183611bbc565b6118ba8482815181106118925761189261324c565b6020908102919091010151610101546001600160a01b0316906001600160801b038516611eb9565b806118c4816132b5565b915050611851565b506107de82611f0b565b60606106856001600160a01b03831660145b606060006118f7836002613278565b61190290600261328f565b6001600160401b038111156119195761191961263e565b6040519080825280601f01601f191660200182016040528015611943576020820181803683370190505b509050600360fc1b8160008151811061195e5761195e61324c565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061198d5761198d61324c565b60200101906001600160f81b031916908160001a90535060006119b1846002613278565b6119bc90600161328f565b90505b6001811115611a34576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106119f0576119f061324c565b1a60f81b828281518110611a0657611a0661324c565b60200101906001600160f81b031916908160001a90535060049490941c93611a2d81613372565b90506119bf565b508315611a835760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161084f565b9392505050565b611a93816116c1565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611ad58361164f565b611b305760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161084f565b600080846001600160a01b031684604051611b4b9190613389565b600060405180830381855af49150503d8060008114611b86576040519150601f19603f3d011682016040523d82523d6000602084013e611b8b565b606091505b5091509150611bb3828260405180606001604052806027815260200161344d602791396120e1565b95945050505050565b6001600160a01b0382166000908152610107602052604081205460ff1615159003611bfc578160405163130f4a3760e11b815260040161084f919061262a565b6000611c066120fa565b6001600160a01b038416600090815261010860205260409020600101549091504290611c4590600160801b90046001600160401b0316620151806133a5565b6001600160401b03161015611c8b576001600160a01b03831660009081526101086020526040902080546001600160801b0319166001600160801b038416179055611ce2565b6001600160a01b0383166000908152610108602052604081208054849290611cbd9084906001600160801b03166133cc565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6001600160a01b038316600090815261010860205260409020600101546001600160401b03808316600160c01b909204161015611d4f576001600160a01b03831660009081526101086020526040902080546001600160801b03808516600160801b029116179055611db0565b6001600160a01b0383166000908152610108602052604090208054839190601090611d8b908490600160801b90046001600160801b03166133cc565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b6001600160a01b0383166000908152610108602052604081206001018054849290611de59084906001600160801b03166133cc565b82546101009290920a6001600160801b038181021990931691831602179091556001600160a01b0385166000908152610108602052604090206001810180548316600160801b426001600160401b03908116919091026001600160c01b031691909117600160c01b9187169190910217905561010454905490911611905080611e995750610103546001600160a01b03841660009081526101086020526040902054600160801b90046001600160801b0316115b156107de5782604051636e661e3360e11b815260040161084f919061262a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526107de90849061210e565b6000611f156120fa565b61010a549091504290611f3b90600160801b90046001600160401b0316620151806133a5565b6001600160401b03161015611f6b5761010980546001600160801b0319166001600160801b038416179055611faf565b6101098054839190600090611f8a9084906001600160801b03166133cc565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b61010a546001600160401b03808316600160c01b909204161015611fed5761010980546001600160801b03808516600160801b029116179055612038565b6101098054839190601090612013908490600160801b90046001600160801b03166133cc565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b61010a80548391906000906120579084906001600160801b03166133cc565b82546101009290920a6001600160801b0381810219909316918316021790915561010a80548216600160801b426001600160401b0390811682026001600160c01b031692909217600160c01b92871692909202919091179091556101025461010954919091049091161115905061086257604051639803f99760e01b815260040160405180910390fd5b606083156120f0575081611a83565b611a8383836121e0565b600061210962278d0042613350565b905090565b6000612163826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661220a9092919063ffffffff16565b8051909150156107de5780806020019051810190612181919061309f565b6107de5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161084f565b8151156121f05781518083602001fd5b8060405162461bcd60e51b815260040161084f919061333d565b60606122198484600085612221565b949350505050565b6060824710156122825760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161084f565b600080866001600160a01b0316858760405161229e9190613389565b60006040518083038185875af1925050503d80600081146122db576040519150601f19603f3d011682016040523d82523d6000602084013e6122e0565b606091505b50915091506122f1878383876122fc565b979650505050505050565b60608315612369578251600003612362576123168561164f565b6123625760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161084f565b5081612219565b61221983836121e0565b82805482825590600052602060002090600f0160109004810192821561240c5791602002820160005b838211156123dc57835183826101000a81548161ffff021916908361ffff160217905550926020019260020160208160010104928301926001030261239c565b801561240a5782816101000a81549061ffff02191690556002016020816001010492830192600103026123dc565b505b506124189291506124c2565b5090565b8280548282559060005260206000209060010160029004810192821561240c5791602002820160005b8382111561248f57835183826101000a8154816001600160801b0302191690836001600160801b031602179055509260200192601001602081600f01049283019260010302612445565b801561240a5782816101000a8154906001600160801b030219169055601001602081600f0104928301926001030261248f565b5b8082111561241857600081556001016124c3565b6000602082840312156124e957600080fd5b5035919050565b60006020828403121561250257600080fd5b81356001600160e01b031981168114611a8357600080fd5b6001600160a01b038116811461092257600080fd5b803561253a8161251a565b919050565b60006020828403121561255157600080fd5b8135611a838161251a565b60008060008060006080868803121561257457600080fd5b853561257f8161251a565b9450602086013561258f8161251a565b93506040860135925060608601356001600160401b03808211156125b257600080fd5b818801915088601f8301126125c657600080fd5b8135818111156125d557600080fd5b8960208285010111156125e757600080fd5b9699959850939650602001949392505050565b6000806040838503121561260d57600080fd5b82359150602083013561261f8161251a565b809150509250929050565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156126765761267661263e565b60405290565b60405160a081016001600160401b03811182821017156126765761267661263e565b60405160e081016001600160401b03811182821017156126765761267661263e565b604051601f8201601f191681016001600160401b03811182821017156126e8576126e861263e565b604052919050565b60006001600160401b038211156127095761270961263e565b50601f01601f191660200190565b600082601f83011261272857600080fd5b813561273b612736826126f0565b6126c0565b81815284602083860101111561275057600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561278057600080fd5b823561278b8161251a565b915060208301356001600160401b038111156127a657600080fd5b6127b285828601612717565b9150509250929050565b63ffffffff8116811461092257600080fd5b803561253a816127bc565b61ffff8116811461092257600080fd5b60006001600160401b038211156128025761280261263e565b5060051b60200190565b600082601f83011261281d57600080fd5b8135602061282d612736836127e9565b82815260059290921b8401810191818101908684111561284c57600080fd5b8286015b848110156128705780356128638161251a565b8352918301918301612850565b509695505050505050565b60006080828403121561288d57600080fd5b612895612654565b905081356128a2816127bc565b81526020828101356128b3816127d9565b8282015260408301356001600160401b03808211156128d157600080fd5b6128dd86838701612717565b60408501526060915081850135818111156128f757600080fd5b8501601f8101871361290857600080fd5b8035612916612736826127e9565b81815260059190911b8201850190858101908983111561293557600080fd5b8684015b838110156129f6578035868111156129515760008081fd5b850160a0818d03601f19018113156129695760008081fd5b61297161267c565b8a83013561297e816127d9565b8152604083013561298e816127bc565b818c0152828a013560408201526080830135898111156129ae5760008081fd5b6129bc8f8d83870101612717565b828c0152509082013590888211156129d45760008081fd5b6129e28e8c8486010161280c565b608082015285525050918701918701612939565b5080868901525050505050505092915050565b60008060408385031215612a1c57600080fd5b8235915060208301356001600160401b03811115612a3957600080fd5b6127b28582860161287b565b600082601f830112612a5657600080fd5b81356020612a66612736836127e9565b82815260059290921b84018101918181019086841115612a8557600080fd5b8286015b84811015612870578035612a9c816127d9565b8352918301918301612a89565b600082601f830112612aba57600080fd5b81356020612aca612736836127e9565b82815260059290921b84018101918181019086841115612ae957600080fd5b8286015b848110156128705780356001600160801b0381168114612b0d5760008081fd5b8352918301918301612aed565b600060608284031215612b2c57600080fd5b604051606081016001600160401b0381118282101715612b4e57612b4e61263e565b80604052508091508235815260208301356020820152604083013560408201525092915050565b600080600060a08486031215612b8a57600080fd5b8335612b958161251a565b925060208401356001600160401b0380821115612bb157600080fd5b9085019060e08288031215612bc557600080fd5b612bcd61269e565b612bd6836127ce565b8152602083013582811115612bea57600080fd5b612bf689828601612a45565b602083015250604083013582811115612c0e57600080fd5b612c1a89828601612aa9565b604083015250612c2c6060840161252f565b6060820152612c3d6080840161252f565b6080820152612c4e60a0840161252f565b60a0820152612c5f60c0840161252f565b60c0820152809450505050612c778560408601612b1a565b90509250925092565b801515811461092257600080fd5b600080600060608486031215612ca357600080fd5b8335612cae8161251a565b925060208401356001600160401b03811115612cc957600080fd5b612cd58682870161287b565b9250506040840135612ce681612c80565b809150509250925092565b600060208284031215612d0357600080fd5b81356001600160401b03811115612d1957600080fd5b61221984828501612717565b60005b83811015612d40578181015183820152602001612d28565b50506000910152565b600082601f830112612d5a57600080fd5b8151612d68612736826126f0565b818152846020838601011115612d7d57600080fd5b612219826020830160208701612d25565b600082601f830112612d9f57600080fd5b81516020612daf612736836127e9565b82815260059290921b84018101918181019086841115612dce57600080fd5b8286015b84811015612870578051612de58161251a565b8352918301918301612dd2565b60006020808385031215612e0557600080fd5b82516001600160401b0380821115612e1c57600080fd5b9084019060808287031215612e3057600080fd5b612e38612654565b8251612e43816127bc565b815282840151612e52816127d9565b81850152604083015182811115612e6857600080fd5b612e7488828601612d49565b604083015250606083015182811115612e8c57600080fd5b80840193505086601f840112612ea157600080fd5b8251612eaf612736826127e9565b81815260059190911b84018501908581019089831115612ece57600080fd5b8686015b83811015612f9157805186811115612eea5760008081fd5b870160a0818d03601f1901811315612f025760008081fd5b612f0a61267c565b8a830151612f17816127d9565b81526040830151612f27816127bc565b818c015260608301516040820152608083015189811115612f485760008081fd5b612f568f8d83870101612d49565b606083015250908201519088821115612f6f5760008081fd5b612f7d8e8c84860101612d8e565b608082015285525050918701918701612ed2565b5060608401525090979650505050505050565b6020808252602c9082015260008051602061340d83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061340d83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561302a57600080fd5b8151611a838161251a565b6000815180845261304d816020860160208601612d25565b601f01601f19169290920160200192915050565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061309590830184613035565b9695505050505050565b6000602082840312156130b157600080fd5b8151611a8381612c80565b6000608063ffffffff80845116855260208085015161ffff80821683890152604091508187015185838a01526130f4868a0182613035565b90506060808901518a8303828c01528281518085528785019150878160051b86010188840193506000805b838110156131c357601f19888403018552855160a08a82511685528d8d830151168d8601528b8201518c86015288820151818a87015261316182870182613035565b9150508e82015191508481038f8601528082518083528e830191508e840193508592505b808310156131ae5783516001600160a01b03168252928e019260019290920191908e0190613185565b50978d0197968d01969450505060010161311f565b50909e9d5050505050505050505050505050565b82815260406020820152600061221960408301846130bc565b6001600160a01b0384168152608060208201819052600090613214908301856130bc565b9215156040830152508082036060909101526000815260200192915050565b60006020828403121561324557600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761068557610685613262565b8082018082111561068557610685613262565b8181038181111561068557610685613262565b6000600182016132c7576132c7613262565b5060010190565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351613300816017850160208801612d25565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613331816028840160208801612d25565b01602801949350505050565b602081526000611a836020830184613035565b60008261336d57634e487b7160e01b600052601260045260246000fd5b500490565b60008161338157613381613262565b506000190190565b6000825161339b818460208701612d25565b9190910192915050565b6001600160401b038181168382160190808211156133c5576133c5613262565b5092915050565b6001600160801b038181168382160190808211156133c5576133c561326256fef0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc946756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220eef69bb17067c9b9d5553a6f4c5c443a943def98f811dc8b3f408d90efaccdfb64736f6c63430008130033";
1048
+
1049
+ type DirectPaymentsPoolConstructorParams =
1050
+ | [signer?: Signer]
1051
+ | ConstructorParameters<typeof ContractFactory>;
1052
+
1053
+ const isSuperArgs = (
1054
+ xs: DirectPaymentsPoolConstructorParams
1055
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
1056
+
1057
+ export class DirectPaymentsPool__factory extends ContractFactory {
1058
+ constructor(...args: DirectPaymentsPoolConstructorParams) {
1059
+ if (isSuperArgs(args)) {
1060
+ super(...args);
1061
+ } else {
1062
+ super(_abi, _bytecode, args[0]);
1063
+ }
1064
+ }
1065
+
1066
+ override deploy(
1067
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
1068
+ ): Promise<DirectPaymentsPool> {
1069
+ return super.deploy(overrides || {}) as Promise<DirectPaymentsPool>;
1070
+ }
1071
+ override getDeployTransaction(
1072
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
1073
+ ): TransactionRequest {
1074
+ return super.getDeployTransaction(overrides || {});
1075
+ }
1076
+ override attach(address: string): DirectPaymentsPool {
1077
+ return super.attach(address) as DirectPaymentsPool;
1078
+ }
1079
+ override connect(signer: Signer): DirectPaymentsPool__factory {
1080
+ return super.connect(signer) as DirectPaymentsPool__factory;
1081
+ }
1082
+
1083
+ static readonly bytecode = _bytecode;
1084
+ static readonly abi = _abi;
1085
+ static createInterface(): DirectPaymentsPoolInterface {
1086
+ return new utils.Interface(_abi) as DirectPaymentsPoolInterface;
1087
+ }
1088
+ static connect(
1089
+ address: string,
1090
+ signerOrProvider: Signer | Provider
1091
+ ): DirectPaymentsPool {
1092
+ return new Contract(address, _abi, signerOrProvider) as DirectPaymentsPool;
1093
+ }
1094
+ }