@artblocks/contracts 0.0.1 → 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 (113) hide show
  1. package/README.md +27 -2
  2. package/artifacts/contracts/archive/GenArt721CoreV0.sol/Address.json +10 -0
  3. package/artifacts/contracts/archive/GenArt721CoreV0.sol/Counters.json +10 -0
  4. package/artifacts/contracts/archive/GenArt721CoreV0.sol/CustomERC721Metadata.json +425 -0
  5. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC165.json +38 -0
  6. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC721.json +322 -0
  7. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC721Enumerable.json +384 -0
  8. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC721ReceiverMock.json +101 -0
  9. package/artifacts/contracts/archive/GenArt721CoreV0.sol/GenArt721.json +1528 -0
  10. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC165.json +32 -0
  11. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC721.json +316 -0
  12. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC721Enumerable.json +378 -0
  13. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC721Receiver.json +47 -0
  14. package/artifacts/contracts/archive/GenArt721CoreV0.sol/SafeMath.json +10 -0
  15. package/artifacts/contracts/archive/GenArt721CoreV0.sol/Strings.json +10 -0
  16. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Address.json +10 -0
  17. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Counters.json +10 -0
  18. package/artifacts/contracts/archive/GenArt721CoreV1.sol/CustomERC721Metadata.json +425 -0
  19. package/artifacts/contracts/archive/GenArt721CoreV1.sol/ERC165.json +38 -0
  20. package/artifacts/contracts/archive/GenArt721CoreV1.sol/ERC721.json +322 -0
  21. package/artifacts/contracts/archive/GenArt721CoreV1.sol/ERC721Enumerable.json +384 -0
  22. package/artifacts/contracts/archive/GenArt721CoreV1.sol/GenArt721Core.json +1773 -0
  23. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC165.json +32 -0
  24. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC721.json +316 -0
  25. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC721Enumerable.json +378 -0
  26. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC721Receiver.json +47 -0
  27. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Randomizer.json +26 -0
  28. package/artifacts/contracts/archive/GenArt721CoreV1.sol/SafeMath.json +10 -0
  29. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Strings.json +10 -0
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol/MinterDAExpV0.json +575 -0
  31. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol/MinterDAExpV1.json +463 -0
  32. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +3 -3
  33. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +3 -3
  34. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +15 -15
  35. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol/MinterDALinV0.json +551 -0
  36. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol/MinterDALinV1.json +439 -0
  37. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +3 -3
  38. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +3 -3
  39. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol/MinterHolderV0.json +622 -0
  40. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +719 -0
  41. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +794 -0
  42. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +3 -3
  43. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol/MinterMerkleV0.json +873 -0
  44. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +932 -0
  45. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +984 -0
  46. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +3 -3
  47. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +3 -3
  48. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol/MinterSetPriceV0.json +400 -0
  49. package/artifacts/contracts/{minter-suite/Minters/MinterSetPrice/deprecated → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV1.sol/MinterSetPriceV1.json +3 -3
  50. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +3 -3
  51. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +3 -3
  52. package/artifacts/contracts/{minter-suite/Minters/MinterSetPriceERC20/deprecated → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +3 -3
  53. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +349 -0
  54. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +3 -3
  55. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +3 -3
  56. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +12 -12
  57. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlement_Mixin.sol/IFilteredMinterDAExpSettlement_Mixin.json +161 -0
  58. package/artifacts/contracts/interfaces/0.8.x/IMinterBaseV0.sol/IMinterBaseV0.json +24 -0
  59. package/artifacts/contracts/interfaces/0.8.x/IMintingAPICoreV0.sol/IMintingAPICoreV0.json +185 -0
  60. package/artifacts/contracts/interfaces/0.8.x/IMintingAPIMinterV0.sol/IMintingAPIMinterV0.json +88 -0
  61. package/artifacts/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol/MinterBase.json +24 -0
  62. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +1066 -0
  63. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +869 -0
  64. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +845 -0
  65. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +1113 -0
  66. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +1052 -0
  67. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +755 -0
  68. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +684 -0
  69. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +1817 -0
  70. package/contracts/archive/GenArt721CoreV0.sol +1621 -0
  71. package/contracts/archive/GenArt721CoreV1.sol +1577 -0
  72. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol +503 -0
  73. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol +442 -0
  74. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV2.sol +3 -3
  75. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV3.sol +3 -3
  76. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +3 -3
  77. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol +450 -0
  78. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol +406 -0
  79. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV2.sol +3 -3
  80. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV3.sol +3 -3
  81. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol +540 -0
  82. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +648 -0
  83. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterHolder/MinterHolderV2.sol +6 -6
  84. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterHolder/MinterHolderV3.sol +4 -4
  85. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol +523 -0
  86. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +602 -0
  87. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +679 -0
  88. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV3.sol +4 -4
  89. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV4.sol +4 -4
  90. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol +333 -0
  91. package/contracts/{minter-suite/Minters/MinterSetPrice/deprecated → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV1.sol +0 -0
  92. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV2.sol +3 -3
  93. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV3.sol +3 -3
  94. package/contracts/{minter-suite/Minters/MinterSetPriceERC20/deprecated → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V0.sol +0 -0
  95. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +411 -0
  96. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +3 -3
  97. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +3 -3
  98. package/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV0.sol +4 -53
  99. package/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlement_Mixin.sol +62 -0
  100. package/contracts/interfaces/0.8.x/IMinterBaseV0.sol +20 -0
  101. package/contracts/interfaces/0.8.x/IMintingAPICoreV0.sol +62 -0
  102. package/contracts/interfaces/0.8.x/IMintingAPIMinterV0.sol +31 -0
  103. package/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol +293 -0
  104. package/contracts/minter-suite/Minters/MinterDAExpSettlementV1.sol +1026 -0
  105. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +572 -0
  106. package/contracts/minter-suite/Minters/MinterDALinV4.sol +525 -0
  107. package/contracts/minter-suite/Minters/MinterHolderV4.sol +752 -0
  108. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +688 -0
  109. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +451 -0
  110. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +352 -0
  111. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +1979 -0
  112. package/package.json +1 -1
  113. package/artifacts/contracts/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +0 -794
@@ -0,0 +1,622 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MinterHolderV0",
4
+ "sourceName": "contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_genArt721Address",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_minterFilter",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": true,
27
+ "internalType": "uint256",
28
+ "name": "_projectId",
29
+ "type": "uint256"
30
+ },
31
+ {
32
+ "indexed": false,
33
+ "internalType": "address[]",
34
+ "name": "_ownedNFTAddresses",
35
+ "type": "address[]"
36
+ },
37
+ {
38
+ "indexed": false,
39
+ "internalType": "uint256[]",
40
+ "name": "_ownedNFTProjectIds",
41
+ "type": "uint256[]"
42
+ }
43
+ ],
44
+ "name": "AllowedHoldersOfProjects",
45
+ "type": "event"
46
+ },
47
+ {
48
+ "anonymous": false,
49
+ "inputs": [
50
+ {
51
+ "indexed": true,
52
+ "internalType": "uint256",
53
+ "name": "_projectId",
54
+ "type": "uint256"
55
+ },
56
+ {
57
+ "indexed": true,
58
+ "internalType": "uint256",
59
+ "name": "_pricePerTokenInWei",
60
+ "type": "uint256"
61
+ }
62
+ ],
63
+ "name": "PricePerTokenInWeiUpdated",
64
+ "type": "event"
65
+ },
66
+ {
67
+ "anonymous": false,
68
+ "inputs": [
69
+ {
70
+ "indexed": true,
71
+ "internalType": "uint256",
72
+ "name": "_projectId",
73
+ "type": "uint256"
74
+ },
75
+ {
76
+ "indexed": true,
77
+ "internalType": "address",
78
+ "name": "_currencyAddress",
79
+ "type": "address"
80
+ },
81
+ {
82
+ "indexed": false,
83
+ "internalType": "string",
84
+ "name": "_currencySymbol",
85
+ "type": "string"
86
+ }
87
+ ],
88
+ "name": "ProjectCurrencyInfoUpdated",
89
+ "type": "event"
90
+ },
91
+ {
92
+ "anonymous": false,
93
+ "inputs": [
94
+ {
95
+ "indexed": true,
96
+ "internalType": "uint256",
97
+ "name": "_projectId",
98
+ "type": "uint256"
99
+ },
100
+ {
101
+ "indexed": false,
102
+ "internalType": "bool",
103
+ "name": "_purchaseToDisabled",
104
+ "type": "bool"
105
+ }
106
+ ],
107
+ "name": "PurchaseToDisabledUpdated",
108
+ "type": "event"
109
+ },
110
+ {
111
+ "anonymous": false,
112
+ "inputs": [
113
+ {
114
+ "indexed": true,
115
+ "internalType": "address",
116
+ "name": "_NFTAddress",
117
+ "type": "address"
118
+ }
119
+ ],
120
+ "name": "RegisteredNFTAddress",
121
+ "type": "event"
122
+ },
123
+ {
124
+ "anonymous": false,
125
+ "inputs": [
126
+ {
127
+ "indexed": true,
128
+ "internalType": "uint256",
129
+ "name": "_projectId",
130
+ "type": "uint256"
131
+ },
132
+ {
133
+ "indexed": false,
134
+ "internalType": "address[]",
135
+ "name": "_ownedNFTAddresses",
136
+ "type": "address[]"
137
+ },
138
+ {
139
+ "indexed": false,
140
+ "internalType": "uint256[]",
141
+ "name": "_ownedNFTProjectIds",
142
+ "type": "uint256[]"
143
+ }
144
+ ],
145
+ "name": "RemovedHoldersOfProjects",
146
+ "type": "event"
147
+ },
148
+ {
149
+ "anonymous": false,
150
+ "inputs": [
151
+ {
152
+ "indexed": true,
153
+ "internalType": "address",
154
+ "name": "_NFTAddress",
155
+ "type": "address"
156
+ }
157
+ ],
158
+ "name": "UnregisteredNFTAddress",
159
+ "type": "event"
160
+ },
161
+ {
162
+ "inputs": [
163
+ {
164
+ "internalType": "uint256",
165
+ "name": "_projectId",
166
+ "type": "uint256"
167
+ },
168
+ {
169
+ "internalType": "address[]",
170
+ "name": "_ownedNFTAddresses",
171
+ "type": "address[]"
172
+ },
173
+ {
174
+ "internalType": "uint256[]",
175
+ "name": "_ownedNFTProjectIds",
176
+ "type": "uint256[]"
177
+ }
178
+ ],
179
+ "name": "allowHoldersOfProjects",
180
+ "outputs": [],
181
+ "stateMutability": "nonpayable",
182
+ "type": "function"
183
+ },
184
+ {
185
+ "inputs": [
186
+ {
187
+ "internalType": "uint256",
188
+ "name": "_projectId",
189
+ "type": "uint256"
190
+ },
191
+ {
192
+ "internalType": "address[]",
193
+ "name": "_ownedNFTAddressesAdd",
194
+ "type": "address[]"
195
+ },
196
+ {
197
+ "internalType": "uint256[]",
198
+ "name": "_ownedNFTProjectIdsAdd",
199
+ "type": "uint256[]"
200
+ },
201
+ {
202
+ "internalType": "address[]",
203
+ "name": "_ownedNFTAddressesRemove",
204
+ "type": "address[]"
205
+ },
206
+ {
207
+ "internalType": "uint256[]",
208
+ "name": "_ownedNFTProjectIdsRemove",
209
+ "type": "uint256[]"
210
+ }
211
+ ],
212
+ "name": "allowRemoveHoldersOfProjects",
213
+ "outputs": [],
214
+ "stateMutability": "nonpayable",
215
+ "type": "function"
216
+ },
217
+ {
218
+ "inputs": [
219
+ {
220
+ "internalType": "uint256",
221
+ "name": "",
222
+ "type": "uint256"
223
+ },
224
+ {
225
+ "internalType": "address",
226
+ "name": "",
227
+ "type": "address"
228
+ },
229
+ {
230
+ "internalType": "uint256",
231
+ "name": "",
232
+ "type": "uint256"
233
+ }
234
+ ],
235
+ "name": "allowedProjectHolders",
236
+ "outputs": [
237
+ {
238
+ "internalType": "bool",
239
+ "name": "",
240
+ "type": "bool"
241
+ }
242
+ ],
243
+ "stateMutability": "view",
244
+ "type": "function"
245
+ },
246
+ {
247
+ "inputs": [],
248
+ "name": "genArt721CoreAddress",
249
+ "outputs": [
250
+ {
251
+ "internalType": "address",
252
+ "name": "",
253
+ "type": "address"
254
+ }
255
+ ],
256
+ "stateMutability": "view",
257
+ "type": "function"
258
+ },
259
+ {
260
+ "inputs": [],
261
+ "name": "getNumRegisteredNFTAddresses",
262
+ "outputs": [
263
+ {
264
+ "internalType": "uint256",
265
+ "name": "",
266
+ "type": "uint256"
267
+ }
268
+ ],
269
+ "stateMutability": "view",
270
+ "type": "function"
271
+ },
272
+ {
273
+ "inputs": [
274
+ {
275
+ "internalType": "uint256",
276
+ "name": "_projectId",
277
+ "type": "uint256"
278
+ }
279
+ ],
280
+ "name": "getPriceInfo",
281
+ "outputs": [
282
+ {
283
+ "internalType": "bool",
284
+ "name": "isConfigured",
285
+ "type": "bool"
286
+ },
287
+ {
288
+ "internalType": "uint256",
289
+ "name": "tokenPriceInWei",
290
+ "type": "uint256"
291
+ },
292
+ {
293
+ "internalType": "string",
294
+ "name": "currencySymbol",
295
+ "type": "string"
296
+ },
297
+ {
298
+ "internalType": "address",
299
+ "name": "currencyAddress",
300
+ "type": "address"
301
+ }
302
+ ],
303
+ "stateMutability": "view",
304
+ "type": "function"
305
+ },
306
+ {
307
+ "inputs": [
308
+ {
309
+ "internalType": "uint256",
310
+ "name": "_index",
311
+ "type": "uint256"
312
+ }
313
+ ],
314
+ "name": "getRegisteredNFTAddressAt",
315
+ "outputs": [
316
+ {
317
+ "internalType": "address",
318
+ "name": "NFTAddress",
319
+ "type": "address"
320
+ }
321
+ ],
322
+ "stateMutability": "view",
323
+ "type": "function"
324
+ },
325
+ {
326
+ "inputs": [
327
+ {
328
+ "internalType": "uint256",
329
+ "name": "_projectId",
330
+ "type": "uint256"
331
+ },
332
+ {
333
+ "internalType": "address",
334
+ "name": "_ownedNFTAddress",
335
+ "type": "address"
336
+ },
337
+ {
338
+ "internalType": "uint256",
339
+ "name": "_ownedNFTTokenId",
340
+ "type": "uint256"
341
+ }
342
+ ],
343
+ "name": "isAllowlistedNFT",
344
+ "outputs": [
345
+ {
346
+ "internalType": "bool",
347
+ "name": "",
348
+ "type": "bool"
349
+ }
350
+ ],
351
+ "stateMutability": "view",
352
+ "type": "function"
353
+ },
354
+ {
355
+ "inputs": [],
356
+ "name": "minterFilterAddress",
357
+ "outputs": [
358
+ {
359
+ "internalType": "address",
360
+ "name": "",
361
+ "type": "address"
362
+ }
363
+ ],
364
+ "stateMutability": "view",
365
+ "type": "function"
366
+ },
367
+ {
368
+ "inputs": [],
369
+ "name": "minterType",
370
+ "outputs": [
371
+ {
372
+ "internalType": "string",
373
+ "name": "",
374
+ "type": "string"
375
+ }
376
+ ],
377
+ "stateMutability": "view",
378
+ "type": "function"
379
+ },
380
+ {
381
+ "inputs": [
382
+ {
383
+ "internalType": "uint256",
384
+ "name": "",
385
+ "type": "uint256"
386
+ }
387
+ ],
388
+ "name": "projectMaxHasBeenInvoked",
389
+ "outputs": [
390
+ {
391
+ "internalType": "bool",
392
+ "name": "",
393
+ "type": "bool"
394
+ }
395
+ ],
396
+ "stateMutability": "view",
397
+ "type": "function"
398
+ },
399
+ {
400
+ "inputs": [
401
+ {
402
+ "internalType": "uint256",
403
+ "name": "",
404
+ "type": "uint256"
405
+ }
406
+ ],
407
+ "name": "projectMaxInvocations",
408
+ "outputs": [
409
+ {
410
+ "internalType": "uint256",
411
+ "name": "",
412
+ "type": "uint256"
413
+ }
414
+ ],
415
+ "stateMutability": "view",
416
+ "type": "function"
417
+ },
418
+ {
419
+ "inputs": [
420
+ {
421
+ "internalType": "uint256",
422
+ "name": "_projectId",
423
+ "type": "uint256"
424
+ },
425
+ {
426
+ "internalType": "address",
427
+ "name": "_ownedNFTAddress",
428
+ "type": "address"
429
+ },
430
+ {
431
+ "internalType": "uint256",
432
+ "name": "_ownedNFTTokenId",
433
+ "type": "uint256"
434
+ }
435
+ ],
436
+ "name": "purchase",
437
+ "outputs": [
438
+ {
439
+ "internalType": "uint256",
440
+ "name": "tokenId",
441
+ "type": "uint256"
442
+ }
443
+ ],
444
+ "stateMutability": "payable",
445
+ "type": "function"
446
+ },
447
+ {
448
+ "inputs": [
449
+ {
450
+ "internalType": "uint256",
451
+ "name": "",
452
+ "type": "uint256"
453
+ }
454
+ ],
455
+ "name": "purchase",
456
+ "outputs": [
457
+ {
458
+ "internalType": "uint256",
459
+ "name": "",
460
+ "type": "uint256"
461
+ }
462
+ ],
463
+ "stateMutability": "payable",
464
+ "type": "function"
465
+ },
466
+ {
467
+ "inputs": [
468
+ {
469
+ "internalType": "address",
470
+ "name": "",
471
+ "type": "address"
472
+ },
473
+ {
474
+ "internalType": "uint256",
475
+ "name": "",
476
+ "type": "uint256"
477
+ }
478
+ ],
479
+ "name": "purchaseTo",
480
+ "outputs": [
481
+ {
482
+ "internalType": "uint256",
483
+ "name": "",
484
+ "type": "uint256"
485
+ }
486
+ ],
487
+ "stateMutability": "payable",
488
+ "type": "function"
489
+ },
490
+ {
491
+ "inputs": [
492
+ {
493
+ "internalType": "address",
494
+ "name": "_to",
495
+ "type": "address"
496
+ },
497
+ {
498
+ "internalType": "uint256",
499
+ "name": "_projectId",
500
+ "type": "uint256"
501
+ },
502
+ {
503
+ "internalType": "address",
504
+ "name": "_ownedNFTAddress",
505
+ "type": "address"
506
+ },
507
+ {
508
+ "internalType": "uint256",
509
+ "name": "_ownedNFTTokenId",
510
+ "type": "uint256"
511
+ }
512
+ ],
513
+ "name": "purchaseTo",
514
+ "outputs": [
515
+ {
516
+ "internalType": "uint256",
517
+ "name": "tokenId",
518
+ "type": "uint256"
519
+ }
520
+ ],
521
+ "stateMutability": "payable",
522
+ "type": "function"
523
+ },
524
+ {
525
+ "inputs": [
526
+ {
527
+ "internalType": "address",
528
+ "name": "_NFTAddress",
529
+ "type": "address"
530
+ }
531
+ ],
532
+ "name": "registerNFTAddress",
533
+ "outputs": [],
534
+ "stateMutability": "nonpayable",
535
+ "type": "function"
536
+ },
537
+ {
538
+ "inputs": [
539
+ {
540
+ "internalType": "uint256",
541
+ "name": "_projectId",
542
+ "type": "uint256"
543
+ },
544
+ {
545
+ "internalType": "address[]",
546
+ "name": "_ownedNFTAddresses",
547
+ "type": "address[]"
548
+ },
549
+ {
550
+ "internalType": "uint256[]",
551
+ "name": "_ownedNFTProjectIds",
552
+ "type": "uint256[]"
553
+ }
554
+ ],
555
+ "name": "removeHoldersOfProjects",
556
+ "outputs": [],
557
+ "stateMutability": "nonpayable",
558
+ "type": "function"
559
+ },
560
+ {
561
+ "inputs": [
562
+ {
563
+ "internalType": "uint256",
564
+ "name": "_projectId",
565
+ "type": "uint256"
566
+ }
567
+ ],
568
+ "name": "setProjectMaxInvocations",
569
+ "outputs": [],
570
+ "stateMutability": "nonpayable",
571
+ "type": "function"
572
+ },
573
+ {
574
+ "inputs": [
575
+ {
576
+ "internalType": "uint256",
577
+ "name": "_projectId",
578
+ "type": "uint256"
579
+ }
580
+ ],
581
+ "name": "togglePurchaseToDisabled",
582
+ "outputs": [],
583
+ "stateMutability": "view",
584
+ "type": "function"
585
+ },
586
+ {
587
+ "inputs": [
588
+ {
589
+ "internalType": "address",
590
+ "name": "_NFTAddress",
591
+ "type": "address"
592
+ }
593
+ ],
594
+ "name": "unregisterNFTAddress",
595
+ "outputs": [],
596
+ "stateMutability": "nonpayable",
597
+ "type": "function"
598
+ },
599
+ {
600
+ "inputs": [
601
+ {
602
+ "internalType": "uint256",
603
+ "name": "_projectId",
604
+ "type": "uint256"
605
+ },
606
+ {
607
+ "internalType": "uint256",
608
+ "name": "_pricePerTokenInWei",
609
+ "type": "uint256"
610
+ }
611
+ ],
612
+ "name": "updatePricePerTokenInWei",
613
+ "outputs": [],
614
+ "stateMutability": "nonpayable",
615
+ "type": "function"
616
+ }
617
+ ],
618
+ "bytecode": "0x6101006040523480156200001257600080fd5b506040516200266938038062002669833981016040819052620000359162000157565b600160009081556001600160a01b03808416608081905260a081905290831660c081905260e0819052604080516392a10f8360e01b81529051929391926392a10f8392600480840193602093929083900390910190829087803b1580156200009c57600080fd5b505af1158015620000b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d791906200018f565b6001600160a01b031614620001325760405162461bcd60e51b815260206004820152601860248201527f496c6c6567616c20636f6e74726163742070616972696e670000000000000000604482015260640160405180910390fd5b5050620001b4565b80516001600160a01b03811681146200015257600080fd5b919050565b600080604083850312156200016b57600080fd5b62000176836200013a565b915062000186602084016200013a565b90509250929050565b600060208284031215620001a257600080fd5b620001ad826200013a565b9392505050565b60805160a05160c05160e051612419620002506000396000611087015260006103d70152600081816104a5015281816105aa015281816106b30152818161079a015281816108ac015281816109cb01528181610ca5015281816112b00152818161137401528181611548015281816115f701528181611737015281816117f2015281816118a901526119f60152600061032e01526124196000f3fe6080604052600436106101055760003560e01c80630ed79c4e1461010a57806340d1397e1461012c578063462add461461014c5780634fd1b70e146101915780634ff5759d146101b157806356690aaf146101d1578063650e5d6d1461020c5780636cb9b7ff1461021f578063774159c61461023f5780637994db09146102a8578063891407c0146102c857806390d355b7146102db57806392a10f831461031c57806399c0bbdc1461035d578063a647300c14610372578063b00abb6414610392578063bc8ff001146103a5578063dd85582f146103c5578063e2849bd5146103f9578063e9d1e8ac14610419578063efef39a114610460578063f7bd4b881461046e575b600080fd5b34801561011657600080fd5b5061012a610125366004611ca9565b61048e565b005b34801561013857600080fd5b5061012a610147366004611cc6565b610592565b34801561015857600080fd5b5061017c610167366004611cc6565b60036020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561019d57600080fd5b5061012a6101ac366004611e17565b61069b565b3480156101bd57600080fd5b5061012a6101cc366004611ca9565b610783565b3480156101dd57600080fd5b506101fe6101ec366004611cc6565b60046020526000908152604090205481565b604051908152602001610188565b6101fe61021a366004611ecd565b61087e565b34801561022b57600080fd5b5061012a61023a366004611f05565b610894565b34801561024b57600080fd5b5061029861025a366004611cc6565b60009081526006602090815260408083205460058352818420548251808401909352600383526208aa8960eb1b9383019390935260ff169391929091565b6040516101889493929190611f83565b3480156102b457600080fd5b5061012a6102c3366004611fbd565b6109b3565b6101fe6102d6366004612029565b610c36565b3480156102e757600080fd5b5061017c6102f6366004611ecd565b600760209081526000938452604080852082529284528284209052825290205460ff1681565b34801561032857600080fd5b506103507f000000000000000000000000000000000000000000000000000000000000000081565b6040516101889190612055565b34801561036957600080fd5b506101fe610c7c565b34801561037e57600080fd5b5061012a61038d366004611fbd565b610c8d565b6101fe6103a0366004612069565b610e92565b3480156103b157600080fd5b506103506103c0366004611cc6565b611241565b3480156103d157600080fd5b506103507f000000000000000000000000000000000000000000000000000000000000000081565b34801561040557600080fd5b5061017c610414366004611ecd565b611254565b34801561042557600080fd5b506104536040518060400160405280600e81526020016d04d696e746572486f6c64657256360941b81525081565b60405161018891906120b1565b6101fe6102d6366004611cc6565b34801561047a57600080fd5b5061012a610489366004611cc6565b611299565b604051633af32abf60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633af32abf906104da903390600401612055565b60206040518083038186803b1580156104f257600080fd5b505afa158015610506573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052a91906120d9565b61054f5760405162461bcd60e51b8152600401610546906120f4565b60405180910390fd5b61055a600182611433565b506040516001600160a01b038216907f7475e948f72f2714b1984b09949d13da2ddbae9f91e31da0faa380c0095b971c90600090a250565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb9060240160206040518083038186803b1580156105f457600080fd5b505afa158015610608573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062c9190612123565b6001600160a01b0316336001600160a01b03161461065c5760405162461bcd60e51b815260040161054690612140565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b6044820152606401610546565b60405163a47d29cb60e01b81526004810186905285907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb9060240160206040518083038186803b1580156106fd57600080fd5b505afa158015610711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107359190612123565b6001600160a01b0316336001600160a01b0316146107655760405162461bcd60e51b815260040161054690612140565b6107708686866109b3565b61077b868484610c8d565b505050505050565b604051633af32abf60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633af32abf906107cf903390600401612055565b60206040518083038186803b1580156107e757600080fd5b505afa1580156107fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081f91906120d9565b61083b5760405162461bcd60e51b8152600401610546906120f4565b61084660018261144f565b506040516001600160a01b038216907f16e28d6cac0e892c58cee90af3dc883220abe36e25201d7117c4f3aaabf1c3f090600090a250565b600061088c33858585610e92565b949350505050565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb9060240160206040518083038186803b1580156108f657600080fd5b505afa15801561090a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092e9190612123565b6001600160a01b0316336001600160a01b03161461095e5760405162461bcd60e51b815260040161054690612140565b60008381526005602090815260408083208590556006909152808220805460ff1916600117905551839185917f26118a27aca826f829f3bfe21b140b4455c00b434849bd0da50d1e1a9720fb5c9190a3505050565b60405163a47d29cb60e01b81526004810184905283907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb9060240160206040518083038186803b158015610a1557600080fd5b505afa158015610a29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4d9190612123565b6001600160a01b0316336001600160a01b031614610a7d5760405162461bcd60e51b815260040161054690612140565b8151835114610ace5760405162461bcd60e51b815260206004820152601f60248201527f4c656e677468206f662061646420617272617973206d757374206d61746368006044820152606401610546565b60005b8351811015610bf557610b07848281518110610aef57610aef612165565b6020026020010151600161146490919063ffffffff16565b610b535760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792052656769737465726564204e4654204164647265737365730000006044820152606401610546565b6000858152600760205260408120855160019290879085908110610b7957610b79612165565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000858481518110610bb557610bb5612165565b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610bed90612191565b915050610ad1565b50837fba2ec6d92cd62364c8e443b484b3e1f72f1ee9e161c1f871de1a60d83c89558b8484604051610c289291906121ac565b60405180910390a250505050565b60405162461bcd60e51b815260206004820152601860248201527704d75737420636c61696d204e4654206f776e6572736869760441b6044820152600090606401610546565b6000610c886001611486565b905090565b60405163a47d29cb60e01b81526004810184905283907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb9060240160206040518083038186803b158015610cef57600080fd5b505afa158015610d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d279190612123565b6001600160a01b0316336001600160a01b031614610d575760405162461bcd60e51b815260040161054690612140565b8151835114610db35760405162461bcd60e51b815260206004820152602260248201527f4c656e677468206f662072656d6f766520617272617973206d757374206d61746044820152610c6d60f31b6064820152608401610546565b60005b8351811015610e5f57600085815260076020526040812085518290879085908110610de357610de3612165565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000858481518110610e1f57610e1f612165565b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e5790612191565b915050610db6565b50837f2e3dced83b61aee20d72f4bdc7e6997a0f8616af4067d3aa92afe2b9b0532d1c8484604051610c289291906121ac565b600060026000541415610ee75760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610546565b600260009081558481526003602052604090205460ff1615610f595760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b6064820152608401610546565b600084815260056020526040902054341015610fb75760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e74216044820152606401610546565b60008481526006602052604090205460ff1661100c5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b6044820152606401610546565b611017848484611254565b61105b5760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920616c6c6f776c6973746564204e46547360581b6044820152606401610546565b604051630d4d151360e01b81526001600160a01b038681166004830152602482018690523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d151390606401602060405180830381600087803b1580156110cb57600080fd5b505af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190612230565b60008581526004602052604090205490915015801590611148575060008481526004602052604090205461113990600190612249565b611146620f424083612276565b145b15611167576000848152600360205260409020805460ff191660011790555b6040516331a9108f60e11b81526004810183905233906001600160a01b03851690636352211e9060240160206040518083038186803b1580156111a957600080fd5b505afa1580156111bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e19190612123565b6001600160a01b03161461122b5760405162461bcd60e51b815260206004820152601160248201527013db9b1e481bdddb995c881bd988139195607a1b6044820152606401610546565b61123484611490565b6001600055949350505050565b600061124e600183611b1c565b92915050565b600080611264620f424084612295565b60009586526007602090815260408088206001600160a01b039790971688529581528587209187525250505090205460ff1690565b604051633af32abf60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633af32abf906112e5903390600401612055565b60206040518083038186803b1580156112fd57600080fd5b505afa158015611311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133591906120d9565b6113515760405162461bcd60e51b8152600401610546906120f4565b6040516346161b1160e11b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638c2c36229060240160006040518083038186803b1580156113b657600080fd5b505afa1580156113ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113f291908101906122a9565b50505060008981526004602052604090208390555091955093505050508082101561142e576000838152600360205260409020805460ff191690555b505050565b6000611448836001600160a01b038416611b28565b9392505050565b6000611448836001600160a01b038416611b77565b6001600160a01b03811660009081526001830160205260408120541515611448565b600061124e825490565b3415611b1957600081815260056020526040812054906114b08234612249565b9050801561154257604051600090339083908381818185875af1925050503d80600081146114fa576040519150601f19603f3d011682016040523d82523d6000602084013e6114ff565b606091505b50509050806115405760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610546565b505b600060647f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634f029c396040518163ffffffff1660e01b815260040160206040518083038186803b15801561159f57600080fd5b505afa1580156115b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d79190612230565b6115e190856123ae565b6115eb9190612295565b905080156117245760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633949f9066040518163ffffffff1660e01b815260040160206040518083038186803b15801561164e57600080fd5b505afa158015611662573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116869190612123565b6001600160a01b03168260405160006040518083038185875af1925050503d80600081146116d0576040519150601f19603f3d011682016040523d82523d6000602084013e6116d5565b606091505b50509050806117225760405162461bcd60e51b8152602060048201526019602482015278119bdd5b99185d1a5bdb881c185e5b595b9d0819985a5b1959603a1b6044820152606401610546565b505b60006117308285612249565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cc74234b886040518263ffffffff1660e01b815260040161178391815260200190565b60206040518083038186803b15801561179b57600080fd5b505afa1580156117af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d39190612230565b11156119c95760405163cc74234b60e01b8152600481018790526064907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063cc74234b9060240160206040518083038186803b15801561183c57600080fd5b505afa158015611850573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118749190612230565b61187e90846123ae565b6118889190612295565b905080156119c957604051636bd8225b60e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d7b044b69060240160206040518083038186803b1580156118f357600080fd5b505afa158015611907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192b9190612123565b6001600160a01b03168260405160006040518083038185875af1925050503d8060008114611975576040519150601f19603f3d011682016040523d82523d6000602084013e61197a565b606091505b50509050806119c75760405162461bcd60e51b81526020600482015260196024820152781059191a5d1a5bdb985b081c185e5b595b9d0819985a5b1959603a1b6044820152606401610546565b505b60006119d58284612249565b90508015611b125760405163a47d29cb60e01b8152600481018890526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb9060240160206040518083038186803b158015611a4057600080fd5b505afa158015611a54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a789190612123565b6001600160a01b03168260405160006040518083038185875af1925050503d8060008114611ac2576040519150601f19603f3d011682016040523d82523d6000602084013e611ac7565b606091505b5050905080611b105760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610546565b505b5050505050505b50565b60006114488383611c6a565b6000818152600183016020526040812054611b6f5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561124e565b50600061124e565b60008181526001830160205260408120548015611c60576000611b9b600183612249565b8554909150600090611baf90600190612249565b9050818114611c14576000866000018281548110611bcf57611bcf612165565b9060005260206000200154905080876000018481548110611bf257611bf2612165565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c2557611c256123cd565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061124e565b600091505061124e565b6000826000018281548110611c8157611c81612165565b9060005260206000200154905092915050565b6001600160a01b0381168114611b1957600080fd5b600060208284031215611cbb57600080fd5b813561144881611c94565b600060208284031215611cd857600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611d1d57611d1d611cdf565b604052919050565b60006001600160401b03821115611d3e57611d3e611cdf565b5060051b60200190565b600082601f830112611d5957600080fd5b81356020611d6e611d6983611d25565b611cf5565b82815260059290921b84018101918181019086841115611d8d57600080fd5b8286015b84811015611db1578035611da481611c94565b8352918301918301611d91565b509695505050505050565b600082601f830112611dcd57600080fd5b81356020611ddd611d6983611d25565b82815260059290921b84018101918181019086841115611dfc57600080fd5b8286015b84811015611db15780358352918301918301611e00565b600080600080600060a08688031215611e2f57600080fd5b8535945060208601356001600160401b0380821115611e4d57600080fd5b611e5989838a01611d48565b95506040880135915080821115611e6f57600080fd5b611e7b89838a01611dbc565b94506060880135915080821115611e9157600080fd5b611e9d89838a01611d48565b93506080880135915080821115611eb357600080fd5b50611ec088828901611dbc565b9150509295509295909350565b600080600060608486031215611ee257600080fd5b833592506020840135611ef481611c94565b929592945050506040919091013590565b60008060408385031215611f1857600080fd5b50508035926020909101359150565b60005b83811015611f42578181015183820152602001611f2a565b83811115611f51576000848401525b50505050565b60008151808452611f6f816020860160208601611f27565b601f01601f19169290920160200192915050565b8415158152836020820152608060408201526000611fa46080830185611f57565b905060018060a01b038316606083015295945050505050565b600080600060608486031215611fd257600080fd5b8335925060208401356001600160401b0380821115611ff057600080fd5b611ffc87838801611d48565b9350604086013591508082111561201257600080fd5b5061201f86828701611dbc565b9150509250925092565b6000806040838503121561203c57600080fd5b823561204781611c94565b946020939093013593505050565b6001600160a01b0391909116815260200190565b6000806000806080858703121561207f57600080fd5b843561208a81611c94565b93506020850135925060408501356120a181611c94565b9396929550929360600135925050565b6020815260006114486020830184611f57565b805180151581146120d457600080fd5b919050565b6000602082840312156120eb57600080fd5b611448826120c4565b60208082526015908201527413db9b1e4810dbdc99481dda1a5d195b1a5cdd1959605a1b604082015260600190565b60006020828403121561213557600080fd5b815161144881611c94565b6020808252600b908201526a13db9b1e48105c9d1a5cdd60aa1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156121a5576121a561217b565b5060010190565b604080825283519082018190526000906020906060840190828701845b828110156121ee5781516001600160a01b0316845292840192908401906001016121c9565b5050508381038285015284518082528583019183019060005b8181101561222357835183529284019291840191600101612207565b5090979650505050505050565b60006020828403121561224257600080fd5b5051919050565b60008282101561225b5761225b61217b565b500390565b634e487b7160e01b600052601260045260246000fd5b60008261228557612285612260565b500690565b80516120d481611c94565b6000826122a4576122a4612260565b500490565b60008060008060008060008060006101208a8c0312156122c857600080fd5b89516122d381611c94565b8099505060208a0151975060408a0151965060608a015195506122f860808b016120c4565b945060a08a015161230881611c94565b60c08b015160e08c015191955093506001600160401b038082111561232c57600080fd5b818c0191508c601f83011261234057600080fd5b81518181111561235257612352611cdf565b612365601f8201601f1916602001611cf5565b91508082528d602082850101111561237c57600080fd5b61238d816020840160208601611f27565b50925061239f90506101008b0161228a565b90509295985092959850929598565b60008160001904831182151516156123c8576123c861217b565b500290565b634e487b7160e01b600052603160045260246000fdfea264697066735822122016b07226579d482a733455abfeea2e026fb361ddd27add97bbe026556aff718364736f6c63430008090033",
619
+ "deployedBytecode": "0x6080604052600436106101055760003560e01c80630ed79c4e1461010a57806340d1397e1461012c578063462add461461014c5780634fd1b70e146101915780634ff5759d146101b157806356690aaf146101d1578063650e5d6d1461020c5780636cb9b7ff1461021f578063774159c61461023f5780637994db09146102a8578063891407c0146102c857806390d355b7146102db57806392a10f831461031c57806399c0bbdc1461035d578063a647300c14610372578063b00abb6414610392578063bc8ff001146103a5578063dd85582f146103c5578063e2849bd5146103f9578063e9d1e8ac14610419578063efef39a114610460578063f7bd4b881461046e575b600080fd5b34801561011657600080fd5b5061012a610125366004611ca9565b61048e565b005b34801561013857600080fd5b5061012a610147366004611cc6565b610592565b34801561015857600080fd5b5061017c610167366004611cc6565b60036020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561019d57600080fd5b5061012a6101ac366004611e17565b61069b565b3480156101bd57600080fd5b5061012a6101cc366004611ca9565b610783565b3480156101dd57600080fd5b506101fe6101ec366004611cc6565b60046020526000908152604090205481565b604051908152602001610188565b6101fe61021a366004611ecd565b61087e565b34801561022b57600080fd5b5061012a61023a366004611f05565b610894565b34801561024b57600080fd5b5061029861025a366004611cc6565b60009081526006602090815260408083205460058352818420548251808401909352600383526208aa8960eb1b9383019390935260ff169391929091565b6040516101889493929190611f83565b3480156102b457600080fd5b5061012a6102c3366004611fbd565b6109b3565b6101fe6102d6366004612029565b610c36565b3480156102e757600080fd5b5061017c6102f6366004611ecd565b600760209081526000938452604080852082529284528284209052825290205460ff1681565b34801561032857600080fd5b506103507f000000000000000000000000000000000000000000000000000000000000000081565b6040516101889190612055565b34801561036957600080fd5b506101fe610c7c565b34801561037e57600080fd5b5061012a61038d366004611fbd565b610c8d565b6101fe6103a0366004612069565b610e92565b3480156103b157600080fd5b506103506103c0366004611cc6565b611241565b3480156103d157600080fd5b506103507f000000000000000000000000000000000000000000000000000000000000000081565b34801561040557600080fd5b5061017c610414366004611ecd565b611254565b34801561042557600080fd5b506104536040518060400160405280600e81526020016d04d696e746572486f6c64657256360941b81525081565b60405161018891906120b1565b6101fe6102d6366004611cc6565b34801561047a57600080fd5b5061012a610489366004611cc6565b611299565b604051633af32abf60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633af32abf906104da903390600401612055565b60206040518083038186803b1580156104f257600080fd5b505afa158015610506573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052a91906120d9565b61054f5760405162461bcd60e51b8152600401610546906120f4565b60405180910390fd5b61055a600182611433565b506040516001600160a01b038216907f7475e948f72f2714b1984b09949d13da2ddbae9f91e31da0faa380c0095b971c90600090a250565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb9060240160206040518083038186803b1580156105f457600080fd5b505afa158015610608573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062c9190612123565b6001600160a01b0316336001600160a01b03161461065c5760405162461bcd60e51b815260040161054690612140565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b6044820152606401610546565b60405163a47d29cb60e01b81526004810186905285907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb9060240160206040518083038186803b1580156106fd57600080fd5b505afa158015610711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107359190612123565b6001600160a01b0316336001600160a01b0316146107655760405162461bcd60e51b815260040161054690612140565b6107708686866109b3565b61077b868484610c8d565b505050505050565b604051633af32abf60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633af32abf906107cf903390600401612055565b60206040518083038186803b1580156107e757600080fd5b505afa1580156107fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081f91906120d9565b61083b5760405162461bcd60e51b8152600401610546906120f4565b61084660018261144f565b506040516001600160a01b038216907f16e28d6cac0e892c58cee90af3dc883220abe36e25201d7117c4f3aaabf1c3f090600090a250565b600061088c33858585610e92565b949350505050565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb9060240160206040518083038186803b1580156108f657600080fd5b505afa15801561090a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092e9190612123565b6001600160a01b0316336001600160a01b03161461095e5760405162461bcd60e51b815260040161054690612140565b60008381526005602090815260408083208590556006909152808220805460ff1916600117905551839185917f26118a27aca826f829f3bfe21b140b4455c00b434849bd0da50d1e1a9720fb5c9190a3505050565b60405163a47d29cb60e01b81526004810184905283907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb9060240160206040518083038186803b158015610a1557600080fd5b505afa158015610a29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4d9190612123565b6001600160a01b0316336001600160a01b031614610a7d5760405162461bcd60e51b815260040161054690612140565b8151835114610ace5760405162461bcd60e51b815260206004820152601f60248201527f4c656e677468206f662061646420617272617973206d757374206d61746368006044820152606401610546565b60005b8351811015610bf557610b07848281518110610aef57610aef612165565b6020026020010151600161146490919063ffffffff16565b610b535760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792052656769737465726564204e4654204164647265737365730000006044820152606401610546565b6000858152600760205260408120855160019290879085908110610b7957610b79612165565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000858481518110610bb557610bb5612165565b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610bed90612191565b915050610ad1565b50837fba2ec6d92cd62364c8e443b484b3e1f72f1ee9e161c1f871de1a60d83c89558b8484604051610c289291906121ac565b60405180910390a250505050565b60405162461bcd60e51b815260206004820152601860248201527704d75737420636c61696d204e4654206f776e6572736869760441b6044820152600090606401610546565b6000610c886001611486565b905090565b60405163a47d29cb60e01b81526004810184905283907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb9060240160206040518083038186803b158015610cef57600080fd5b505afa158015610d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d279190612123565b6001600160a01b0316336001600160a01b031614610d575760405162461bcd60e51b815260040161054690612140565b8151835114610db35760405162461bcd60e51b815260206004820152602260248201527f4c656e677468206f662072656d6f766520617272617973206d757374206d61746044820152610c6d60f31b6064820152608401610546565b60005b8351811015610e5f57600085815260076020526040812085518290879085908110610de357610de3612165565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000858481518110610e1f57610e1f612165565b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e5790612191565b915050610db6565b50837f2e3dced83b61aee20d72f4bdc7e6997a0f8616af4067d3aa92afe2b9b0532d1c8484604051610c289291906121ac565b600060026000541415610ee75760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610546565b600260009081558481526003602052604090205460ff1615610f595760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b6064820152608401610546565b600084815260056020526040902054341015610fb75760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e74216044820152606401610546565b60008481526006602052604090205460ff1661100c5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b6044820152606401610546565b611017848484611254565b61105b5760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920616c6c6f776c6973746564204e46547360581b6044820152606401610546565b604051630d4d151360e01b81526001600160a01b038681166004830152602482018690523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d151390606401602060405180830381600087803b1580156110cb57600080fd5b505af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190612230565b60008581526004602052604090205490915015801590611148575060008481526004602052604090205461113990600190612249565b611146620f424083612276565b145b15611167576000848152600360205260409020805460ff191660011790555b6040516331a9108f60e11b81526004810183905233906001600160a01b03851690636352211e9060240160206040518083038186803b1580156111a957600080fd5b505afa1580156111bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e19190612123565b6001600160a01b03161461122b5760405162461bcd60e51b815260206004820152601160248201527013db9b1e481bdddb995c881bd988139195607a1b6044820152606401610546565b61123484611490565b6001600055949350505050565b600061124e600183611b1c565b92915050565b600080611264620f424084612295565b60009586526007602090815260408088206001600160a01b039790971688529581528587209187525250505090205460ff1690565b604051633af32abf60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633af32abf906112e5903390600401612055565b60206040518083038186803b1580156112fd57600080fd5b505afa158015611311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133591906120d9565b6113515760405162461bcd60e51b8152600401610546906120f4565b6040516346161b1160e11b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638c2c36229060240160006040518083038186803b1580156113b657600080fd5b505afa1580156113ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113f291908101906122a9565b50505060008981526004602052604090208390555091955093505050508082101561142e576000838152600360205260409020805460ff191690555b505050565b6000611448836001600160a01b038416611b28565b9392505050565b6000611448836001600160a01b038416611b77565b6001600160a01b03811660009081526001830160205260408120541515611448565b600061124e825490565b3415611b1957600081815260056020526040812054906114b08234612249565b9050801561154257604051600090339083908381818185875af1925050503d80600081146114fa576040519150601f19603f3d011682016040523d82523d6000602084013e6114ff565b606091505b50509050806115405760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610546565b505b600060647f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634f029c396040518163ffffffff1660e01b815260040160206040518083038186803b15801561159f57600080fd5b505afa1580156115b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d79190612230565b6115e190856123ae565b6115eb9190612295565b905080156117245760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633949f9066040518163ffffffff1660e01b815260040160206040518083038186803b15801561164e57600080fd5b505afa158015611662573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116869190612123565b6001600160a01b03168260405160006040518083038185875af1925050503d80600081146116d0576040519150601f19603f3d011682016040523d82523d6000602084013e6116d5565b606091505b50509050806117225760405162461bcd60e51b8152602060048201526019602482015278119bdd5b99185d1a5bdb881c185e5b595b9d0819985a5b1959603a1b6044820152606401610546565b505b60006117308285612249565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cc74234b886040518263ffffffff1660e01b815260040161178391815260200190565b60206040518083038186803b15801561179b57600080fd5b505afa1580156117af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d39190612230565b11156119c95760405163cc74234b60e01b8152600481018790526064907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063cc74234b9060240160206040518083038186803b15801561183c57600080fd5b505afa158015611850573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118749190612230565b61187e90846123ae565b6118889190612295565b905080156119c957604051636bd8225b60e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d7b044b69060240160206040518083038186803b1580156118f357600080fd5b505afa158015611907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192b9190612123565b6001600160a01b03168260405160006040518083038185875af1925050503d8060008114611975576040519150601f19603f3d011682016040523d82523d6000602084013e61197a565b606091505b50509050806119c75760405162461bcd60e51b81526020600482015260196024820152781059191a5d1a5bdb985b081c185e5b595b9d0819985a5b1959603a1b6044820152606401610546565b505b60006119d58284612249565b90508015611b125760405163a47d29cb60e01b8152600481018890526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb9060240160206040518083038186803b158015611a4057600080fd5b505afa158015611a54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a789190612123565b6001600160a01b03168260405160006040518083038185875af1925050503d8060008114611ac2576040519150601f19603f3d011682016040523d82523d6000602084013e611ac7565b606091505b5050905080611b105760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610546565b505b5050505050505b50565b60006114488383611c6a565b6000818152600183016020526040812054611b6f5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561124e565b50600061124e565b60008181526001830160205260408120548015611c60576000611b9b600183612249565b8554909150600090611baf90600190612249565b9050818114611c14576000866000018281548110611bcf57611bcf612165565b9060005260206000200154905080876000018481548110611bf257611bf2612165565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c2557611c256123cd565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061124e565b600091505061124e565b6000826000018281548110611c8157611c81612165565b9060005260206000200154905092915050565b6001600160a01b0381168114611b1957600080fd5b600060208284031215611cbb57600080fd5b813561144881611c94565b600060208284031215611cd857600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611d1d57611d1d611cdf565b604052919050565b60006001600160401b03821115611d3e57611d3e611cdf565b5060051b60200190565b600082601f830112611d5957600080fd5b81356020611d6e611d6983611d25565b611cf5565b82815260059290921b84018101918181019086841115611d8d57600080fd5b8286015b84811015611db1578035611da481611c94565b8352918301918301611d91565b509695505050505050565b600082601f830112611dcd57600080fd5b81356020611ddd611d6983611d25565b82815260059290921b84018101918181019086841115611dfc57600080fd5b8286015b84811015611db15780358352918301918301611e00565b600080600080600060a08688031215611e2f57600080fd5b8535945060208601356001600160401b0380821115611e4d57600080fd5b611e5989838a01611d48565b95506040880135915080821115611e6f57600080fd5b611e7b89838a01611dbc565b94506060880135915080821115611e9157600080fd5b611e9d89838a01611d48565b93506080880135915080821115611eb357600080fd5b50611ec088828901611dbc565b9150509295509295909350565b600080600060608486031215611ee257600080fd5b833592506020840135611ef481611c94565b929592945050506040919091013590565b60008060408385031215611f1857600080fd5b50508035926020909101359150565b60005b83811015611f42578181015183820152602001611f2a565b83811115611f51576000848401525b50505050565b60008151808452611f6f816020860160208601611f27565b601f01601f19169290920160200192915050565b8415158152836020820152608060408201526000611fa46080830185611f57565b905060018060a01b038316606083015295945050505050565b600080600060608486031215611fd257600080fd5b8335925060208401356001600160401b0380821115611ff057600080fd5b611ffc87838801611d48565b9350604086013591508082111561201257600080fd5b5061201f86828701611dbc565b9150509250925092565b6000806040838503121561203c57600080fd5b823561204781611c94565b946020939093013593505050565b6001600160a01b0391909116815260200190565b6000806000806080858703121561207f57600080fd5b843561208a81611c94565b93506020850135925060408501356120a181611c94565b9396929550929360600135925050565b6020815260006114486020830184611f57565b805180151581146120d457600080fd5b919050565b6000602082840312156120eb57600080fd5b611448826120c4565b60208082526015908201527413db9b1e4810dbdc99481dda1a5d195b1a5cdd1959605a1b604082015260600190565b60006020828403121561213557600080fd5b815161144881611c94565b6020808252600b908201526a13db9b1e48105c9d1a5cdd60aa1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156121a5576121a561217b565b5060010190565b604080825283519082018190526000906020906060840190828701845b828110156121ee5781516001600160a01b0316845292840192908401906001016121c9565b5050508381038285015284518082528583019183019060005b8181101561222357835183529284019291840191600101612207565b5090979650505050505050565b60006020828403121561224257600080fd5b5051919050565b60008282101561225b5761225b61217b565b500390565b634e487b7160e01b600052601260045260246000fd5b60008261228557612285612260565b500690565b80516120d481611c94565b6000826122a4576122a4612260565b500490565b60008060008060008060008060006101208a8c0312156122c857600080fd5b89516122d381611c94565b8099505060208a0151975060408a0151965060608a015195506122f860808b016120c4565b945060a08a015161230881611c94565b60c08b015160e08c015191955093506001600160401b038082111561232c57600080fd5b818c0191508c601f83011261234057600080fd5b81518181111561235257612352611cdf565b612365601f8201601f1916602001611cf5565b91508082528d602082850101111561237c57600080fd5b61238d816020840160208601611f27565b50925061239f90506101008b0161228a565b90509295985092959850929598565b60008160001904831182151516156123c8576123c861217b565b500290565b634e487b7160e01b600052603160045260246000fdfea264697066735822122016b07226579d482a733455abfeea2e026fb361ddd27add97bbe026556aff718364736f6c63430008090033",
620
+ "linkReferences": {},
621
+ "deployedLinkReferences": {}
622
+ }