@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,707 @@
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
+ DirectPaymentsFactory,
9
+ DirectPaymentsFactoryInterface,
10
+ } from "../../../contracts/DirectPayments/DirectPaymentsFactory";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [],
15
+ name: "NOT_PROJECT_OWNER",
16
+ type: "error",
17
+ },
18
+ {
19
+ anonymous: false,
20
+ inputs: [
21
+ {
22
+ indexed: false,
23
+ internalType: "address",
24
+ name: "previousAdmin",
25
+ type: "address",
26
+ },
27
+ {
28
+ indexed: false,
29
+ internalType: "address",
30
+ name: "newAdmin",
31
+ type: "address",
32
+ },
33
+ ],
34
+ name: "AdminChanged",
35
+ type: "event",
36
+ },
37
+ {
38
+ anonymous: false,
39
+ inputs: [
40
+ {
41
+ indexed: true,
42
+ internalType: "address",
43
+ name: "beacon",
44
+ type: "address",
45
+ },
46
+ ],
47
+ name: "BeaconUpgraded",
48
+ type: "event",
49
+ },
50
+ {
51
+ anonymous: false,
52
+ inputs: [
53
+ {
54
+ indexed: false,
55
+ internalType: "uint8",
56
+ name: "version",
57
+ type: "uint8",
58
+ },
59
+ ],
60
+ name: "Initialized",
61
+ type: "event",
62
+ },
63
+ {
64
+ anonymous: false,
65
+ inputs: [
66
+ {
67
+ indexed: true,
68
+ internalType: "address",
69
+ name: "pool",
70
+ type: "address",
71
+ },
72
+ {
73
+ indexed: true,
74
+ internalType: "string",
75
+ name: "projectId",
76
+ type: "string",
77
+ },
78
+ {
79
+ indexed: false,
80
+ internalType: "string",
81
+ name: "ipfs",
82
+ type: "string",
83
+ },
84
+ {
85
+ indexed: true,
86
+ internalType: "uint32",
87
+ name: "nftType",
88
+ type: "uint32",
89
+ },
90
+ ],
91
+ name: "PoolCreated",
92
+ type: "event",
93
+ },
94
+ {
95
+ anonymous: false,
96
+ inputs: [
97
+ {
98
+ indexed: true,
99
+ internalType: "address",
100
+ name: "pool",
101
+ type: "address",
102
+ },
103
+ {
104
+ indexed: false,
105
+ internalType: "string",
106
+ name: "ipfs",
107
+ type: "string",
108
+ },
109
+ ],
110
+ name: "PoolDetailsChanged",
111
+ type: "event",
112
+ },
113
+ {
114
+ anonymous: false,
115
+ inputs: [
116
+ {
117
+ indexed: true,
118
+ internalType: "address",
119
+ name: "pool",
120
+ type: "address",
121
+ },
122
+ {
123
+ indexed: false,
124
+ internalType: "bool",
125
+ name: "isVerified",
126
+ type: "bool",
127
+ },
128
+ ],
129
+ name: "PoolVerifiedChanged",
130
+ type: "event",
131
+ },
132
+ {
133
+ anonymous: false,
134
+ inputs: [
135
+ {
136
+ indexed: true,
137
+ internalType: "bytes32",
138
+ name: "role",
139
+ type: "bytes32",
140
+ },
141
+ {
142
+ indexed: true,
143
+ internalType: "bytes32",
144
+ name: "previousAdminRole",
145
+ type: "bytes32",
146
+ },
147
+ {
148
+ indexed: true,
149
+ internalType: "bytes32",
150
+ name: "newAdminRole",
151
+ type: "bytes32",
152
+ },
153
+ ],
154
+ name: "RoleAdminChanged",
155
+ type: "event",
156
+ },
157
+ {
158
+ anonymous: false,
159
+ inputs: [
160
+ {
161
+ indexed: true,
162
+ internalType: "bytes32",
163
+ name: "role",
164
+ type: "bytes32",
165
+ },
166
+ {
167
+ indexed: true,
168
+ internalType: "address",
169
+ name: "account",
170
+ type: "address",
171
+ },
172
+ {
173
+ indexed: true,
174
+ internalType: "address",
175
+ name: "sender",
176
+ type: "address",
177
+ },
178
+ ],
179
+ name: "RoleGranted",
180
+ type: "event",
181
+ },
182
+ {
183
+ anonymous: false,
184
+ inputs: [
185
+ {
186
+ indexed: true,
187
+ internalType: "bytes32",
188
+ name: "role",
189
+ type: "bytes32",
190
+ },
191
+ {
192
+ indexed: true,
193
+ internalType: "address",
194
+ name: "account",
195
+ type: "address",
196
+ },
197
+ {
198
+ indexed: true,
199
+ internalType: "address",
200
+ name: "sender",
201
+ type: "address",
202
+ },
203
+ ],
204
+ name: "RoleRevoked",
205
+ type: "event",
206
+ },
207
+ {
208
+ anonymous: false,
209
+ inputs: [
210
+ {
211
+ indexed: true,
212
+ internalType: "address",
213
+ name: "impl",
214
+ type: "address",
215
+ },
216
+ ],
217
+ name: "UpdatedImpl",
218
+ type: "event",
219
+ },
220
+ {
221
+ anonymous: false,
222
+ inputs: [
223
+ {
224
+ indexed: true,
225
+ internalType: "address",
226
+ name: "implementation",
227
+ type: "address",
228
+ },
229
+ ],
230
+ name: "Upgraded",
231
+ type: "event",
232
+ },
233
+ {
234
+ inputs: [],
235
+ name: "DEFAULT_ADMIN_ROLE",
236
+ outputs: [
237
+ {
238
+ internalType: "bytes32",
239
+ name: "",
240
+ type: "bytes32",
241
+ },
242
+ ],
243
+ stateMutability: "view",
244
+ type: "function",
245
+ },
246
+ {
247
+ inputs: [
248
+ {
249
+ internalType: "contract DirectPaymentsPool",
250
+ name: "_pool",
251
+ type: "address",
252
+ },
253
+ {
254
+ internalType: "string",
255
+ name: "_ipfs",
256
+ type: "string",
257
+ },
258
+ ],
259
+ name: "changePoolDetails",
260
+ outputs: [],
261
+ stateMutability: "nonpayable",
262
+ type: "function",
263
+ },
264
+ {
265
+ inputs: [
266
+ {
267
+ internalType: "string",
268
+ name: "_projectId",
269
+ type: "string",
270
+ },
271
+ {
272
+ internalType: "string",
273
+ name: "_ipfs",
274
+ type: "string",
275
+ },
276
+ {
277
+ components: [
278
+ {
279
+ internalType: "uint32",
280
+ name: "nftType",
281
+ type: "uint32",
282
+ },
283
+ {
284
+ internalType: "uint16[]",
285
+ name: "validEvents",
286
+ type: "uint16[]",
287
+ },
288
+ {
289
+ internalType: "uint128[]",
290
+ name: "rewardPerEvent",
291
+ type: "uint128[]",
292
+ },
293
+ {
294
+ internalType: "address",
295
+ name: "manager",
296
+ type: "address",
297
+ },
298
+ {
299
+ internalType: "contract IMembersValidator",
300
+ name: "membersValidator",
301
+ type: "address",
302
+ },
303
+ {
304
+ internalType: "contract IIdentityV2",
305
+ name: "uniqunessValidator",
306
+ type: "address",
307
+ },
308
+ {
309
+ internalType: "contract IERC20Upgradeable",
310
+ name: "rewardToken",
311
+ type: "address",
312
+ },
313
+ ],
314
+ internalType: "struct DirectPaymentsPool.PoolSettings",
315
+ name: "_settings",
316
+ type: "tuple",
317
+ },
318
+ {
319
+ components: [
320
+ {
321
+ internalType: "uint256",
322
+ name: "maxTotalPerMonth",
323
+ type: "uint256",
324
+ },
325
+ {
326
+ internalType: "uint256",
327
+ name: "maxMemberPerMonth",
328
+ type: "uint256",
329
+ },
330
+ {
331
+ internalType: "uint256",
332
+ name: "maxMemberPerDay",
333
+ type: "uint256",
334
+ },
335
+ ],
336
+ internalType: "struct DirectPaymentsPool.SafetyLimits",
337
+ name: "_limits",
338
+ type: "tuple",
339
+ },
340
+ ],
341
+ name: "createPool",
342
+ outputs: [
343
+ {
344
+ internalType: "contract DirectPaymentsPool",
345
+ name: "pool",
346
+ type: "address",
347
+ },
348
+ ],
349
+ stateMutability: "nonpayable",
350
+ type: "function",
351
+ },
352
+ {
353
+ inputs: [
354
+ {
355
+ internalType: "bytes32",
356
+ name: "role",
357
+ type: "bytes32",
358
+ },
359
+ ],
360
+ name: "getRoleAdmin",
361
+ outputs: [
362
+ {
363
+ internalType: "bytes32",
364
+ name: "",
365
+ type: "bytes32",
366
+ },
367
+ ],
368
+ stateMutability: "view",
369
+ type: "function",
370
+ },
371
+ {
372
+ inputs: [
373
+ {
374
+ internalType: "bytes32",
375
+ name: "role",
376
+ type: "bytes32",
377
+ },
378
+ {
379
+ internalType: "address",
380
+ name: "account",
381
+ type: "address",
382
+ },
383
+ ],
384
+ name: "grantRole",
385
+ outputs: [],
386
+ stateMutability: "nonpayable",
387
+ type: "function",
388
+ },
389
+ {
390
+ inputs: [
391
+ {
392
+ internalType: "bytes32",
393
+ name: "role",
394
+ type: "bytes32",
395
+ },
396
+ {
397
+ internalType: "address",
398
+ name: "account",
399
+ type: "address",
400
+ },
401
+ ],
402
+ name: "hasRole",
403
+ outputs: [
404
+ {
405
+ internalType: "bool",
406
+ name: "",
407
+ type: "bool",
408
+ },
409
+ ],
410
+ stateMutability: "view",
411
+ type: "function",
412
+ },
413
+ {
414
+ inputs: [],
415
+ name: "impl",
416
+ outputs: [
417
+ {
418
+ internalType: "address",
419
+ name: "",
420
+ type: "address",
421
+ },
422
+ ],
423
+ stateMutability: "view",
424
+ type: "function",
425
+ },
426
+ {
427
+ inputs: [
428
+ {
429
+ internalType: "address",
430
+ name: "_owner",
431
+ type: "address",
432
+ },
433
+ {
434
+ internalType: "address",
435
+ name: "_dpimpl",
436
+ type: "address",
437
+ },
438
+ {
439
+ internalType: "address",
440
+ name: "_nftimpl",
441
+ type: "address",
442
+ },
443
+ ],
444
+ name: "initialize",
445
+ outputs: [],
446
+ stateMutability: "nonpayable",
447
+ type: "function",
448
+ },
449
+ {
450
+ inputs: [],
451
+ name: "nextNftType",
452
+ outputs: [
453
+ {
454
+ internalType: "uint32",
455
+ name: "",
456
+ type: "uint32",
457
+ },
458
+ ],
459
+ stateMutability: "view",
460
+ type: "function",
461
+ },
462
+ {
463
+ inputs: [],
464
+ name: "nft",
465
+ outputs: [
466
+ {
467
+ internalType: "contract ProvableNFT",
468
+ name: "",
469
+ type: "address",
470
+ },
471
+ ],
472
+ stateMutability: "view",
473
+ type: "function",
474
+ },
475
+ {
476
+ inputs: [
477
+ {
478
+ internalType: "bytes32",
479
+ name: "",
480
+ type: "bytes32",
481
+ },
482
+ ],
483
+ name: "projectIdToControlPool",
484
+ outputs: [
485
+ {
486
+ internalType: "contract DirectPaymentsPool",
487
+ name: "",
488
+ type: "address",
489
+ },
490
+ ],
491
+ stateMutability: "view",
492
+ type: "function",
493
+ },
494
+ {
495
+ inputs: [],
496
+ name: "proxiableUUID",
497
+ outputs: [
498
+ {
499
+ internalType: "bytes32",
500
+ name: "",
501
+ type: "bytes32",
502
+ },
503
+ ],
504
+ stateMutability: "view",
505
+ type: "function",
506
+ },
507
+ {
508
+ inputs: [
509
+ {
510
+ internalType: "address",
511
+ name: "",
512
+ type: "address",
513
+ },
514
+ ],
515
+ name: "registry",
516
+ outputs: [
517
+ {
518
+ internalType: "string",
519
+ name: "ipfs",
520
+ type: "string",
521
+ },
522
+ {
523
+ internalType: "bool",
524
+ name: "isVerified",
525
+ type: "bool",
526
+ },
527
+ {
528
+ internalType: "string",
529
+ name: "projectId",
530
+ type: "string",
531
+ },
532
+ ],
533
+ stateMutability: "view",
534
+ type: "function",
535
+ },
536
+ {
537
+ inputs: [
538
+ {
539
+ internalType: "bytes32",
540
+ name: "role",
541
+ type: "bytes32",
542
+ },
543
+ {
544
+ internalType: "address",
545
+ name: "account",
546
+ type: "address",
547
+ },
548
+ ],
549
+ name: "renounceRole",
550
+ outputs: [],
551
+ stateMutability: "nonpayable",
552
+ type: "function",
553
+ },
554
+ {
555
+ inputs: [
556
+ {
557
+ internalType: "bytes32",
558
+ name: "role",
559
+ type: "bytes32",
560
+ },
561
+ {
562
+ internalType: "address",
563
+ name: "account",
564
+ type: "address",
565
+ },
566
+ ],
567
+ name: "revokeRole",
568
+ outputs: [],
569
+ stateMutability: "nonpayable",
570
+ type: "function",
571
+ },
572
+ {
573
+ inputs: [
574
+ {
575
+ internalType: "contract DirectPaymentsPool",
576
+ name: "_pool",
577
+ type: "address",
578
+ },
579
+ {
580
+ internalType: "bool",
581
+ name: "_isVerified",
582
+ type: "bool",
583
+ },
584
+ ],
585
+ name: "setVerified",
586
+ outputs: [],
587
+ stateMutability: "nonpayable",
588
+ type: "function",
589
+ },
590
+ {
591
+ inputs: [
592
+ {
593
+ internalType: "bytes4",
594
+ name: "interfaceId",
595
+ type: "bytes4",
596
+ },
597
+ ],
598
+ name: "supportsInterface",
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: "address",
613
+ name: "_impl",
614
+ type: "address",
615
+ },
616
+ ],
617
+ name: "updateImpl",
618
+ outputs: [],
619
+ stateMutability: "nonpayable",
620
+ type: "function",
621
+ },
622
+ {
623
+ inputs: [
624
+ {
625
+ internalType: "address",
626
+ name: "newImplementation",
627
+ type: "address",
628
+ },
629
+ ],
630
+ name: "upgradeTo",
631
+ outputs: [],
632
+ stateMutability: "nonpayable",
633
+ type: "function",
634
+ },
635
+ {
636
+ inputs: [
637
+ {
638
+ internalType: "address",
639
+ name: "newImplementation",
640
+ type: "address",
641
+ },
642
+ {
643
+ internalType: "bytes",
644
+ name: "data",
645
+ type: "bytes",
646
+ },
647
+ ],
648
+ name: "upgradeToAndCall",
649
+ outputs: [],
650
+ stateMutability: "payable",
651
+ type: "function",
652
+ },
653
+ ] as const;
654
+
655
+ const _bytecode =
656
+ "0x60a06040523060805234801561001457600080fd5b50608051612ddf61004c60003960008181610682015281816106c501528181610756015281816107990152610a4f0152612ddf6000f3fe608060405260043610620001045760003560e01c806301ffc9a71462000109578063038defd71462000143578063248a9ca314620001795780632f2ff15d14620001ad57806336568abe14620001d45780633659cfe614620001f957806347ccca02146200021e5780634f1ef28614620002595780634f962c8c146200027057806352d1902d1462000295578063592f7b0514620002ad5780638abf607714620002e257806391d1485414620003045780639cedd89b14620003295780639cf5c6131462000363578063a217fddf1462000388578063c0c53b8b146200039f578063d547741f14620003c4578063e04a70b914620003e9578063fcf1e009146200040e575b600080fd5b3480156200011657600080fd5b506200012e6200012836600462001c97565b62000433565b60405190151581526020015b60405180910390f35b3480156200015057600080fd5b50620001686200016236600462001ceb565b6200046b565b6040516200013a9392919062001d5f565b3480156200018657600080fd5b506200019e6200019836600462001d9a565b620005b6565b6040519081526020016200013a565b348015620001ba57600080fd5b50620001d2620001cc36600462001db4565b620005cb565b005b348015620001e157600080fd5b50620001d2620001f336600462001db4565b620005f2565b3480156200020657600080fd5b50620001d26200021836600462001ceb565b62000678565b3480156200022b57600080fd5b5060fc5462000240906001600160a01b031681565b6040516001600160a01b0390911681526020016200013a565b620001d26200026a36600462001ec5565b6200074c565b3480156200027d57600080fd5b50620001d26200028f36600462001f52565b6200080d565b348015620002a257600080fd5b506200019e62000a42565b348015620002ba57600080fd5b5060fc54620002d390600160a01b900463ffffffff1681565b6040516200013a919062001f9d565b348015620002ef57600080fd5b5060fb5462000240906001600160a01b031681565b3480156200031157600080fd5b506200012e6200032336600462001db4565b62000af3565b3480156200033657600080fd5b50620002406200034836600462001d9a565b60fe602052600090815260409020546001600160a01b031681565b3480156200037057600080fd5b50620001d26200038236600462001fbd565b62000b1e565b3480156200039557600080fd5b506200019e600081565b348015620003ac57600080fd5b50620001d2620003be36600462001ff0565b62000b8e565b348015620003d157600080fd5b50620001d2620003e336600462001db4565b62000e1a565b348015620003f657600080fd5b506200024062000408366004620021da565b62000e3c565b3480156200041b57600080fd5b50620001d26200042d36600462001ceb565b62001484565b60006001600160e01b03198216637965db0b60e01b14806200046557506301ffc9a760e01b6001600160e01b03198316145b92915050565b60fd60205260009081526040902080548190620004889062002339565b80601f0160208091040260200160405190810160405280929190818152602001828054620004b69062002339565b8015620005075780601f10620004db5761010080835404028352916020019162000507565b820191906000526020600020905b815481529060010190602001808311620004e957829003601f168201915b5050506001840154600285018054949560ff9092169491935091506200052d9062002339565b80601f01602080910402602001604051908101604052809291908181526020018280546200055b9062002339565b8015620005ac5780601f106200058057610100808354040283529160200191620005ac565b820191906000526020600020905b8154815290600101906020018083116200058e57829003601f168201915b5050505050905083565b60009081526065602052604090206001015490565b620005d682620005b6565b620005e181620014dc565b620005ed8383620014e8565b505050565b6001600160a01b0381163314620006685760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b62000674828262001572565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620006c35760405162461bcd60e51b81526004016200065f9062002375565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620006f7620015dc565b6001600160a01b031614620007205760405162461bcd60e51b81526004016200065f90620023b0565b6200072b81620015f9565b60408051600080825260208201909252620007499183919062001606565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620007975760405162461bcd60e51b81526004016200065f9062002375565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620007cb620015dc565b6001600160a01b031614620007f45760405162461bcd60e51b81526004016200065f90620023b0565b620007ff82620015f9565b620006748282600162001606565b6001600160a01b038216600090815260fd60205260408120600201805484929190620008399062002339565b80601f0160208091040260200160405190810160405280929190818152602001828054620008679062002339565b8015620008b85780601f106200088c57610100808354040283529160200191620008b8565b820191906000526020600020905b8154815290600101906020018083116200089a57829003601f168201915b50508351602080860191909120600090815260fe825260409081902054815163a217fddf60e01b815291519697506001600160a01b0316958695506391d14854945085935063a217fddf926004808401939192918290030181865afa15801562000926573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200094c9190620023eb565b336040518363ffffffff1660e01b81526004016200096c92919062002405565b602060405180830381865afa1580156200098a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009b091906200241c565b1515600003620009d357604051631d799a6d60e21b815260040160405180910390fd5b6001600160a01b038516600090815260fd60205260409020620009f785826200248e565b50846001600160a01b03167f941ad6ac0538b96f9e89b9b52ec11031b50591baa2f16c0cdf1f94c69f389d6d8560405162000a3391906200255a565b60405180910390a25050505050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462000adf5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016200065f565b5060008051602062002d6383398151915290565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600062000b2b81620014dc565b6001600160a01b038316600081815260fd6020908152604091829020600101805460ff191686151590811790915591519182527fafdc942e2e075abc791516f168aed9293862095eb31c0dab19c8d0d061018a93910160405180910390a2505050565b600054610100900460ff161580801562000baf5750600054600160ff909116105b8062000bd4575062000bc1306200177e565b15801562000bd4575060005460ff166001145b62000c395760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200065f565b6000805460ff19166001179055801562000c5d576000805461ff0019166101001790555b60fc805463ffffffff60a01b1916600160a01b17905560fb80546001600160a01b0385166001600160a01b031990911617905560408051602481018290526012606482015271111a5c9958dd14185e5b595b9d1cc813919560721b608482015260806044820152600560a482015264111413919560da1b60c4808301919091528251808303909101815260e490910182526020810180516001600160e01b031663266c45bb60e11b17905290518390829062000d199062001c89565b62000d269291906200256f565b604051809103906000f08015801562000d43573d6000803e3d6000fd5b5060fc80546001600160a01b0319166001600160a01b03929092169182179055604051632f2ff15d60e01b8152632f2ff15d9062000d8990600090899060040162002405565b600060405180830381600087803b15801562000da457600080fd5b505af115801562000db9573d6000803e3d6000fd5b5050505062000dcc6000801b866200178d565b50801562000e14576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b62000e2582620005b6565b62000e3081620014dc565b620005ed838362001572565b8351602080860191909120600090815260fe825260408082205481518083019092526017825276636f6e74726f6c3a25732073656e6465723a257320257360481b93820193909352909186916001600160a01b039091169062000ea190823362001799565b6001600160a01b0381161562000fac57806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000eff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f259190620023eb565b336040518363ffffffff1660e01b815260040162000f4592919062002405565b602060405180830381865afa15801562000f63573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f8991906200241c565b151560000362000fac57604051631d799a6d60e21b815260040160405180910390fd5b60fc5463ffffffff600160a01b8204168652604051600091634cc351bb60e11b9162000fe9916001600160a01b03169089908990602401620025e3565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925260fb5491519092506001600160a01b039091169082906200103c9062001c89565b620010499291906200256f565b604051809103906000f08015801562001066573d6000803e3d6000fd5b5060fc54604051634e93f47b60e01b81529195506001600160a01b03811691632f2ff15d918391634e93f47b91620010b091600160a01b90910463ffffffff169060040162001f9d565b602060405180830381865afa158015620010ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f49190620023eb565b88606001516040518363ffffffff1660e01b81526004016200111892919062002405565b600060405180830381600087803b1580156200113357600080fd5b505af115801562001148573d6000803e3d6000fd5b505060fc54604051634e93f47b60e01b81526001600160a01b0382169350632f2ff15d92508391634e93f47b916200119191600160a01b900463ffffffff169060040162001f9d565b602060405180830381865afa158015620011af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011d59190620023eb565b866040518363ffffffff1660e01b8152600401620011f592919062002405565b600060405180830381600087803b1580156200121057600080fd5b505af115801562001225573d6000803e3d6000fd5b50505050836001600160a01b0316632f2ff15d856001600160a01b031663d53913936040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200129d9190620023eb565b88606001516040518363ffffffff1660e01b8152600401620012c192919062002405565b600060405180830381600087803b158015620012dc57600080fd5b505af1158015620012f1573d6000803e3d6000fd5b505089516020808c0191909120600090815260fe8252604080822080546001600160a01b0319166001600160a01b038b16908117909155825260fd90925220915062001340905088826200248e565b506001600160a01b038416600090815260fd602052604090206002016200136889826200248e565b50604051631b2b455f60e11b81526001600160a01b038516906336568abe906200139a90600090309060040162002405565b600060405180830381600087803b158015620013b557600080fd5b505af1158015620013ca573d6000803e3d6000fd5b505060fc54604051600160a01b90910463ffffffff169250620013f091508a90620026f4565b6040518091039020856001600160a01b03167f0199416f1f9cd64a5652eba0dfab9b2b07e50552e1f70e54e4100814306cc06a8a6040516200143391906200255a565b60405180910390a460fc8054600160a01b900463ffffffff169060146200145a8362002728565b91906101000a81548163ffffffff021916908363ffffffff16021790555050505050949350505050565b60006200149181620014dc565b60fb80546001600160a01b0319166001600160a01b0384169081179091556040517f71ce7583e9b7e543de8a69a6af369c0b3528b287064f9dce26a38025e36dc2c790600090a25050565b620007498133620017e4565b620014f4828262000af3565b620006745760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200152e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6200157e828262000af3565b15620006745760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062002d63833981519152546001600160a01b031690565b60006200067481620014dc565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200163c57620005ed8362001848565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001699575060408051601f3d908101601f191682019092526200169691810190620023eb565b60015b620016fe5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200065f565b60008051602062002d638339815191528114620017705760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200065f565b50620005ed838383620018e7565b6001600160a01b03163b151590565b620006748282620014e8565b620005ed838383604051602401620017b4939291906200274e565b60408051601f198184030181529190526020810180516001600160e01b03166307e763af60e51b17905262001912565b620017f0828262000af3565b6200067457620018008162001933565b6200180d83602062001946565b6040516020016200182092919062002783565b60408051601f198184030181529082905262461bcd60e51b82526200065f916004016200255a565b62001853816200177e565b620018b75760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200065f565b60008051602062002d6383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620018f28362001b06565b600082511180620019005750805b15620005ed5762000e14838362001b48565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6060620004656001600160a01b03831660145b6060600062001957836002620027f6565b6200196490600262002810565b6001600160401b038111156200197e576200197e62001df4565b6040519080825280601f01601f191660200182016040528015620019a9576020820181803683370190505b509050600360fc1b81600081518110620019c757620019c762002826565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620019f957620019f962002826565b60200101906001600160f81b031916908160001a905350600062001a1f846002620027f6565b62001a2c90600162002810565b90505b600181111562001aae576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062001a645762001a6462002826565b1a60f81b82828151811062001a7d5762001a7d62002826565b60200101906001600160f81b031916908160001a90535060049490941c9362001aa6816200283c565b905062001a2f565b50831562001aff5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200065f565b9392505050565b62001b118162001848565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062001b55836200177e565b62001bb25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016200065f565b600080846001600160a01b03168460405162001bcf9190620026f4565b600060405180830381855af49150503d806000811462001c0c576040519150601f19603f3d011682016040523d82523d6000602084013e62001c11565b606091505b509150915062001c3c828260405180606001604052806027815260200162002d836027913962001c45565b95945050505050565b6060831562001c5657508162001aff565b62001aff838381511562001c6d5781518083602001fd5b8060405162461bcd60e51b81526004016200065f91906200255a565b6104ec806200285783390190565b60006020828403121562001caa57600080fd5b81356001600160e01b03198116811462001aff57600080fd5b6001600160a01b03811681146200074957600080fd5b803562001ce68162001cc3565b919050565b60006020828403121562001cfe57600080fd5b813562001aff8162001cc3565b60005b8381101562001d2857818101518382015260200162001d0e565b50506000910152565b6000815180845262001d4b81602086016020860162001d0b565b601f01601f19169290920160200192915050565b60608152600062001d74606083018662001d31565b8415156020840152828103604084015262001d90818562001d31565b9695505050505050565b60006020828403121562001dad57600080fd5b5035919050565b6000806040838503121562001dc857600080fd5b82359150602083013562001ddc8162001cc3565b809150509250929050565b6001600160a01b03169052565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b038111828210171562001e2f5762001e2f62001df4565b60405290565b604051601f8201601f191681016001600160401b038111828210171562001e605762001e6062001df4565b604052919050565b60006001600160401b0383111562001e845762001e8462001df4565b62001e99601f8401601f191660200162001e35565b905082815283838301111562001eae57600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562001ed957600080fd5b823562001ee68162001cc3565b915060208301356001600160401b0381111562001f0257600080fd5b8301601f8101851362001f1457600080fd5b62001f258582356020840162001e68565b9150509250929050565b600082601f83011262001f4157600080fd5b62001aff8383356020850162001e68565b6000806040838503121562001f6657600080fd5b823562001f738162001cc3565b915060208301356001600160401b0381111562001f8f57600080fd5b62001f258582860162001f2f565b63ffffffff91909116815260200190565b80151581146200074957600080fd5b6000806040838503121562001fd157600080fd5b823562001fde8162001cc3565b9150602083013562001ddc8162001fae565b6000806000606084860312156200200657600080fd5b8335620020138162001cc3565b92506020840135620020258162001cc3565b91506040840135620020378162001cc3565b809150509250925092565b803563ffffffff8116811462001ce657600080fd5b60006001600160401b0382111562002073576200207362001df4565b5060051b60200190565b600082601f8301126200208f57600080fd5b81356020620020a8620020a28362002057565b62001e35565b82815260059290921b84018101918181019086841115620020c857600080fd5b8286015b84811015620020f757803561ffff81168114620020e95760008081fd5b8352918301918301620020cc565b509695505050505050565b600082601f8301126200211457600080fd5b8135602062002127620020a28362002057565b82815260059290921b840181019181810190868411156200214757600080fd5b8286015b84811015620020f75780356001600160801b03811681146200216d5760008081fd5b83529183019183016200214b565b6000606082840312156200218e57600080fd5b604051606081016001600160401b0381118282101715620021b357620021b362001df4565b80604052508091508235815260208301356020820152604083013560408201525092915050565b60008060008060c08587031215620021f157600080fd5b84356001600160401b03808211156200220957600080fd5b620022178883890162001f2f565b955060208701359150808211156200222e57600080fd5b6200223c8883890162001f2f565b945060408701359150808211156200225357600080fd5b9086019060e082890312156200226857600080fd5b6200227262001e0a565b6200227d8362002042565b81526020830135828111156200229257600080fd5b620022a08a8286016200207d565b602083015250604083013582811115620022b957600080fd5b620022c78a82860162002102565b604083015250620022db6060840162001cd9565b6060820152620022ee6080840162001cd9565b60808201526200230160a0840162001cd9565b60a08201526200231460c0840162001cd9565b60c08201528094505050506200232e86606087016200217b565b905092959194509250565b600181811c908216806200234e57607f821691505b6020821081036200236f57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602c9082015260008051602062002d4383398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062002d4383398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215620023fe57600080fd5b5051919050565b9182526001600160a01b0316602082015260400190565b6000602082840312156200242f57600080fd5b815162001aff8162001fae565b601f821115620005ed57600081815260208120601f850160051c81016020861015620024655750805b601f850160051c820191505b81811015620024865782815560010162002471565b505050505050565b81516001600160401b03811115620024aa57620024aa62001df4565b620024c281620024bb845462002339565b846200243c565b602080601f831160018114620024fa5760008415620024e15750858301515b600019600386901b1c1916600185901b17855562002486565b600085815260208120601f198616915b828110156200252b578886015182559484019460019091019084016200250a565b50858210156200254a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600062001aff602083018462001d31565b6001600160a01b0383168152604060208201819052600090620025959083018462001d31565b949350505050565b600081518084526020808501945080840160005b83811015620025d85781516001600160801b031687529582019590820190600101620025b1565b509495945050505050565b6001600160a01b038416815260a06020808301829052845163ffffffff16918301919091528381015160e060c0840152805161018084018190526000929182019083906101a08601905b808310156200265357835161ffff1682529284019260019290920191908401906200262d565b506040880151868203609f190160e088015293506200267381856200259d565b935050505060608501516200268d61010085018262001de7565b506080850151620026a361012085018262001de7565b5060a0850151620026b961014085018262001de7565b5060c0850151620026cf61016085018262001de7565b5090506200259560408301848051825260208082015190830152604090810151910152565b600082516200270881846020870162001d0b565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff80831681810362002744576200274462002712565b6001019392505050565b60608152600062002763606083018662001d31565b6001600160a01b0394851660208401529290931660409091015292915050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351620027b781601785016020880162001d0b565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620027ea81602884016020880162001d0b565b01602801949350505050565b808202811582820484141762000465576200046562002712565b8082018082111562000465576200046562002712565b634e487b7160e01b600052603260045260246000fd5b6000816200284e576200284e62002712565b50600019019056fe60806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea2646970667358221220a4cda07e5b291f61d81b4ee016ef5ca6a806aa56384b08ff8d52828dbed4d68d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208d1b17126f5af997cd96454b6a46a9afe8804ec56c02c549bf89ae7ce363c4d164736f6c63430008130033";
657
+
658
+ type DirectPaymentsFactoryConstructorParams =
659
+ | [signer?: Signer]
660
+ | ConstructorParameters<typeof ContractFactory>;
661
+
662
+ const isSuperArgs = (
663
+ xs: DirectPaymentsFactoryConstructorParams
664
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
665
+
666
+ export class DirectPaymentsFactory__factory extends ContractFactory {
667
+ constructor(...args: DirectPaymentsFactoryConstructorParams) {
668
+ if (isSuperArgs(args)) {
669
+ super(...args);
670
+ } else {
671
+ super(_abi, _bytecode, args[0]);
672
+ }
673
+ }
674
+
675
+ override deploy(
676
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
677
+ ): Promise<DirectPaymentsFactory> {
678
+ return super.deploy(overrides || {}) as Promise<DirectPaymentsFactory>;
679
+ }
680
+ override getDeployTransaction(
681
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
682
+ ): TransactionRequest {
683
+ return super.getDeployTransaction(overrides || {});
684
+ }
685
+ override attach(address: string): DirectPaymentsFactory {
686
+ return super.attach(address) as DirectPaymentsFactory;
687
+ }
688
+ override connect(signer: Signer): DirectPaymentsFactory__factory {
689
+ return super.connect(signer) as DirectPaymentsFactory__factory;
690
+ }
691
+
692
+ static readonly bytecode = _bytecode;
693
+ static readonly abi = _abi;
694
+ static createInterface(): DirectPaymentsFactoryInterface {
695
+ return new utils.Interface(_abi) as DirectPaymentsFactoryInterface;
696
+ }
697
+ static connect(
698
+ address: string,
699
+ signerOrProvider: Signer | Provider
700
+ ): DirectPaymentsFactory {
701
+ return new Contract(
702
+ address,
703
+ _abi,
704
+ signerOrProvider
705
+ ) as DirectPaymentsFactory;
706
+ }
707
+ }