@lukso/lsp8-contracts 0.16.7 → 0.18.1

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 (88) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +99 -4
  3. package/artifacts/IAccessControlExtended.json +285 -0
  4. package/artifacts/ILSP8CappedBalance.json +27 -0
  5. package/artifacts/ILSP8CappedSupply.json +27 -0
  6. package/artifacts/ILSP8IdentifiableDigitalAsset.json +6 -3
  7. package/artifacts/ILSP8Mintable.json +62 -0
  8. package/artifacts/ILSP8NonTransferable.json +116 -0
  9. package/artifacts/ILSP8Revokable.json +112 -0
  10. package/artifacts/LSP8Burnable.json +7 -4
  11. package/artifacts/LSP8BurnableInitAbstract.json +7 -4
  12. package/artifacts/LSP8CappedBalanceAbstract.json +1285 -0
  13. package/artifacts/LSP8CappedBalanceInitAbstract.json +1293 -0
  14. package/artifacts/{LSP8CappedSupply.json → LSP8CappedSupplyAbstract.json} +8 -15
  15. package/artifacts/LSP8CappedSupplyInitAbstract.json +7 -14
  16. package/artifacts/LSP8CustomizableToken.json +1781 -0
  17. package/artifacts/LSP8CustomizableTokenInit.json +1776 -0
  18. package/artifacts/LSP8Enumerable.json +7 -4
  19. package/artifacts/LSP8EnumerableInitAbstract.json +7 -4
  20. package/artifacts/LSP8IdentifiableDigitalAsset.json +6 -3
  21. package/artifacts/LSP8IdentifiableDigitalAssetInitAbstract.json +6 -3
  22. package/artifacts/LSP8Mintable.json +369 -5
  23. package/artifacts/LSP8MintableAbstract.json +1328 -0
  24. package/artifacts/LSP8MintableInit.json +369 -5
  25. package/artifacts/LSP8MintableInitAbstract.json +1336 -0
  26. package/artifacts/LSP8NonTransferableAbstract.json +1373 -0
  27. package/artifacts/LSP8NonTransferableInitAbstract.json +1381 -0
  28. package/artifacts/LSP8RevokableAbstract.json +1354 -0
  29. package/artifacts/LSP8RevokableInitAbstract.json +1362 -0
  30. package/artifacts/LSP8Votes.json +7 -4
  31. package/artifacts/LSP8VotesInitAbstract.json +7 -4
  32. package/contracts/ILSP8IdentifiableDigitalAsset.sol +1 -1
  33. package/contracts/LSP8Constants.sol +1 -1
  34. package/contracts/LSP8Errors.sol +1 -1
  35. package/contracts/LSP8IdentifiableDigitalAsset.sol +73 -114
  36. package/contracts/LSP8IdentifiableDigitalAssetInitAbstract.sol +69 -116
  37. package/contracts/extensions/AccessControlExtended/AccessControlExtendedAbstract.sol +378 -0
  38. package/contracts/extensions/AccessControlExtended/AccessControlExtendedConstants.sol +13 -0
  39. package/contracts/extensions/AccessControlExtended/AccessControlExtendedErrors.sol +23 -0
  40. package/contracts/extensions/AccessControlExtended/AccessControlExtendedInitAbstract.sol +390 -0
  41. package/contracts/extensions/AccessControlExtended/IAccessControlExtended.sol +51 -0
  42. package/contracts/extensions/{LSP8Burnable.sol → LSP8Burnable/LSP8Burnable.sol} +7 -6
  43. package/contracts/extensions/{LSP8BurnableInitAbstract.sol → LSP8Burnable/LSP8BurnableInitAbstract.sol} +7 -6
  44. package/contracts/extensions/LSP8CappedBalance/ILSP8CappedBalance.sol +11 -0
  45. package/contracts/extensions/LSP8CappedBalance/LSP8CappedBalanceAbstract.sol +124 -0
  46. package/contracts/extensions/LSP8CappedBalance/LSP8CappedBalanceErrors.sol +9 -0
  47. package/contracts/extensions/LSP8CappedBalance/LSP8CappedBalanceInitAbstract.sol +174 -0
  48. package/contracts/extensions/LSP8CappedSupply/ILSP8CappedSupply.sol +11 -0
  49. package/contracts/extensions/LSP8CappedSupply/LSP8CappedSupplyAbstract.sol +59 -0
  50. package/contracts/extensions/LSP8CappedSupply/LSP8CappedSupplyErrors.sol +6 -0
  51. package/contracts/extensions/LSP8CappedSupply/LSP8CappedSupplyInitAbstract.sol +97 -0
  52. package/contracts/extensions/{LSP8Enumerable.sol → LSP8Enumerable/LSP8Enumerable.sol} +2 -2
  53. package/contracts/extensions/{LSP8EnumerableInitAbstract.sol → LSP8Enumerable/LSP8EnumerableInitAbstract.sol} +2 -2
  54. package/contracts/extensions/LSP8Mintable/ILSP8Mintable.sol +27 -0
  55. package/contracts/extensions/LSP8Mintable/LSP8MintableAbstract.sol +105 -0
  56. package/contracts/extensions/LSP8Mintable/LSP8MintableErrors.sol +5 -0
  57. package/contracts/extensions/LSP8Mintable/LSP8MintableInitAbstract.sol +155 -0
  58. package/contracts/extensions/LSP8NonTransferable/ILSP8NonTransferable.sol +54 -0
  59. package/contracts/extensions/LSP8NonTransferable/LSP8NonTransferableAbstract.sol +199 -0
  60. package/contracts/extensions/LSP8NonTransferable/LSP8NonTransferableErrors.sol +14 -0
  61. package/contracts/extensions/LSP8NonTransferable/LSP8NonTransferableInitAbstract.sol +255 -0
  62. package/contracts/extensions/LSP8Revokable/ILSP8Revokable.sol +37 -0
  63. package/contracts/extensions/LSP8Revokable/LSP8RevokableAbstract.sol +140 -0
  64. package/contracts/extensions/LSP8Revokable/LSP8RevokableErrors.sol +4 -0
  65. package/contracts/extensions/LSP8Revokable/LSP8RevokableInitAbstract.sol +192 -0
  66. package/contracts/extensions/{LSP8Votes.sol → LSP8Votes/LSP8Votes.sol} +3 -4
  67. package/contracts/extensions/{LSP8VotesConstants.sol → LSP8Votes/LSP8VotesConstants.sol} +1 -1
  68. package/contracts/extensions/{LSP8VotesInitAbstract.sol → LSP8Votes/LSP8VotesInitAbstract.sol} +3 -3
  69. package/contracts/presets/LSP8CustomizableToken.sol +277 -0
  70. package/contracts/presets/LSP8CustomizableTokenConstants.sol +32 -0
  71. package/contracts/presets/LSP8CustomizableTokenInit.sol +318 -0
  72. package/contracts/presets/LSP8Mintable.sol +13 -28
  73. package/contracts/presets/LSP8MintableInit.sol +13 -6
  74. package/dist/abi.cjs +8351 -136
  75. package/dist/abi.d.cts +12122 -266
  76. package/dist/abi.d.mts +12122 -266
  77. package/dist/abi.d.ts +12122 -266
  78. package/dist/abi.mjs +8335 -136
  79. package/dist/constants.cjs +21 -0
  80. package/dist/constants.d.cts +12 -1
  81. package/dist/constants.d.mts +12 -1
  82. package/dist/constants.d.ts +12 -1
  83. package/dist/constants.mjs +16 -1
  84. package/package.json +32 -9
  85. package/contracts/extensions/LSP8CappedSupply.sol +0 -85
  86. package/contracts/extensions/LSP8CappedSupplyInitAbstract.sol +0 -88
  87. package/contracts/presets/ILSP8Mintable.sol +0 -33
  88. package/contracts/presets/LSP8MintableInitAbstract.sol +0 -62
@@ -0,0 +1,1381 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "LSP8NonTransferableInitAbstract",
4
+ "sourceName": "contracts/extensions/LSP8NonTransferable/LSP8NonTransferableInitAbstract.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "AccessControlBadConfirmation",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "AccessControlCannotSetAdminForDefaultAdminRole",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [
18
+ {
19
+ "internalType": "address",
20
+ "name": "account",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "bytes32",
25
+ "name": "neededRole",
26
+ "type": "bytes32"
27
+ }
28
+ ],
29
+ "name": "AccessControlUnauthorizedAccount",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "ERC725Y_DataKeysValuesEmptyArray",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "ERC725Y_DataKeysValuesLengthMismatch",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [],
44
+ "name": "ERC725Y_MsgValueDisallowed",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [
49
+ {
50
+ "internalType": "bytes",
51
+ "name": "storedData",
52
+ "type": "bytes"
53
+ }
54
+ ],
55
+ "name": "InvalidExtensionAddress",
56
+ "type": "error"
57
+ },
58
+ {
59
+ "inputs": [
60
+ {
61
+ "internalType": "bytes",
62
+ "name": "data",
63
+ "type": "bytes"
64
+ }
65
+ ],
66
+ "name": "InvalidFunctionSelector",
67
+ "type": "error"
68
+ },
69
+ {
70
+ "inputs": [],
71
+ "name": "LSP4TokenNameNotEditable",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [],
76
+ "name": "LSP4TokenSymbolNotEditable",
77
+ "type": "error"
78
+ },
79
+ {
80
+ "inputs": [],
81
+ "name": "LSP4TokenTypeNotEditable",
82
+ "type": "error"
83
+ },
84
+ {
85
+ "inputs": [
86
+ {
87
+ "internalType": "uint256",
88
+ "name": "callIndex",
89
+ "type": "uint256"
90
+ }
91
+ ],
92
+ "name": "LSP8BatchCallFailed",
93
+ "type": "error"
94
+ },
95
+ {
96
+ "inputs": [],
97
+ "name": "LSP8CannotSendToAddressZero",
98
+ "type": "error"
99
+ },
100
+ {
101
+ "inputs": [],
102
+ "name": "LSP8CannotUpdateTransferLockPeriod",
103
+ "type": "error"
104
+ },
105
+ {
106
+ "inputs": [],
107
+ "name": "LSP8CannotUseAddressZeroAsOperator",
108
+ "type": "error"
109
+ },
110
+ {
111
+ "inputs": [],
112
+ "name": "LSP8InvalidTransferBatch",
113
+ "type": "error"
114
+ },
115
+ {
116
+ "inputs": [],
117
+ "name": "LSP8InvalidTransferLockPeriod",
118
+ "type": "error"
119
+ },
120
+ {
121
+ "inputs": [
122
+ {
123
+ "internalType": "bytes32",
124
+ "name": "tokenId",
125
+ "type": "bytes32"
126
+ }
127
+ ],
128
+ "name": "LSP8NonExistentTokenId",
129
+ "type": "error"
130
+ },
131
+ {
132
+ "inputs": [
133
+ {
134
+ "internalType": "address",
135
+ "name": "operator",
136
+ "type": "address"
137
+ },
138
+ {
139
+ "internalType": "bytes32",
140
+ "name": "tokenId",
141
+ "type": "bytes32"
142
+ }
143
+ ],
144
+ "name": "LSP8NonExistingOperator",
145
+ "type": "error"
146
+ },
147
+ {
148
+ "inputs": [
149
+ {
150
+ "internalType": "bytes32",
151
+ "name": "tokenId",
152
+ "type": "bytes32"
153
+ },
154
+ {
155
+ "internalType": "address",
156
+ "name": "caller",
157
+ "type": "address"
158
+ }
159
+ ],
160
+ "name": "LSP8NotTokenOperator",
161
+ "type": "error"
162
+ },
163
+ {
164
+ "inputs": [
165
+ {
166
+ "internalType": "address",
167
+ "name": "tokenOwner",
168
+ "type": "address"
169
+ },
170
+ {
171
+ "internalType": "bytes32",
172
+ "name": "tokenId",
173
+ "type": "bytes32"
174
+ },
175
+ {
176
+ "internalType": "address",
177
+ "name": "caller",
178
+ "type": "address"
179
+ }
180
+ ],
181
+ "name": "LSP8NotTokenOwner",
182
+ "type": "error"
183
+ },
184
+ {
185
+ "inputs": [
186
+ {
187
+ "internalType": "address",
188
+ "name": "tokenReceiver",
189
+ "type": "address"
190
+ }
191
+ ],
192
+ "name": "LSP8NotifyTokenReceiverContractMissingLSP1Interface",
193
+ "type": "error"
194
+ },
195
+ {
196
+ "inputs": [
197
+ {
198
+ "internalType": "address",
199
+ "name": "tokenReceiver",
200
+ "type": "address"
201
+ }
202
+ ],
203
+ "name": "LSP8NotifyTokenReceiverIsEOA",
204
+ "type": "error"
205
+ },
206
+ {
207
+ "inputs": [
208
+ {
209
+ "internalType": "address",
210
+ "name": "operator",
211
+ "type": "address"
212
+ },
213
+ {
214
+ "internalType": "bytes32",
215
+ "name": "tokenId",
216
+ "type": "bytes32"
217
+ }
218
+ ],
219
+ "name": "LSP8OperatorAlreadyAuthorized",
220
+ "type": "error"
221
+ },
222
+ {
223
+ "inputs": [
224
+ {
225
+ "internalType": "address",
226
+ "name": "caller",
227
+ "type": "address"
228
+ },
229
+ {
230
+ "internalType": "address",
231
+ "name": "tokenOwner",
232
+ "type": "address"
233
+ },
234
+ {
235
+ "internalType": "bytes32",
236
+ "name": "tokenId",
237
+ "type": "bytes32"
238
+ }
239
+ ],
240
+ "name": "LSP8RevokeOperatorNotAuthorized",
241
+ "type": "error"
242
+ },
243
+ {
244
+ "inputs": [],
245
+ "name": "LSP8TokenAlreadyTransferable",
246
+ "type": "error"
247
+ },
248
+ {
249
+ "inputs": [],
250
+ "name": "LSP8TokenContractCannotHoldValue",
251
+ "type": "error"
252
+ },
253
+ {
254
+ "inputs": [],
255
+ "name": "LSP8TokenIdFormatNotEditable",
256
+ "type": "error"
257
+ },
258
+ {
259
+ "inputs": [],
260
+ "name": "LSP8TokenIdsDataEmptyArray",
261
+ "type": "error"
262
+ },
263
+ {
264
+ "inputs": [],
265
+ "name": "LSP8TokenIdsDataLengthMismatch",
266
+ "type": "error"
267
+ },
268
+ {
269
+ "inputs": [],
270
+ "name": "LSP8TokenOwnerCannotBeOperator",
271
+ "type": "error"
272
+ },
273
+ {
274
+ "inputs": [
275
+ {
276
+ "internalType": "bytes32",
277
+ "name": "tokenId",
278
+ "type": "bytes32"
279
+ },
280
+ {
281
+ "internalType": "address",
282
+ "name": "oldOwner",
283
+ "type": "address"
284
+ },
285
+ {
286
+ "internalType": "address",
287
+ "name": "newOwner",
288
+ "type": "address"
289
+ }
290
+ ],
291
+ "name": "LSP8TokenOwnerChanged",
292
+ "type": "error"
293
+ },
294
+ {
295
+ "inputs": [],
296
+ "name": "LSP8TransferDisabled",
297
+ "type": "error"
298
+ },
299
+ {
300
+ "inputs": [
301
+ {
302
+ "internalType": "bytes4",
303
+ "name": "functionSelector",
304
+ "type": "bytes4"
305
+ }
306
+ ],
307
+ "name": "NoExtensionFoundForFunctionSelector",
308
+ "type": "error"
309
+ },
310
+ {
311
+ "anonymous": false,
312
+ "inputs": [
313
+ {
314
+ "indexed": true,
315
+ "internalType": "bytes32",
316
+ "name": "dataKey",
317
+ "type": "bytes32"
318
+ },
319
+ {
320
+ "indexed": false,
321
+ "internalType": "bytes",
322
+ "name": "dataValue",
323
+ "type": "bytes"
324
+ }
325
+ ],
326
+ "name": "DataChanged",
327
+ "type": "event"
328
+ },
329
+ {
330
+ "anonymous": false,
331
+ "inputs": [
332
+ {
333
+ "indexed": false,
334
+ "internalType": "uint8",
335
+ "name": "version",
336
+ "type": "uint8"
337
+ }
338
+ ],
339
+ "name": "Initialized",
340
+ "type": "event"
341
+ },
342
+ {
343
+ "anonymous": false,
344
+ "inputs": [
345
+ {
346
+ "indexed": true,
347
+ "internalType": "address",
348
+ "name": "operator",
349
+ "type": "address"
350
+ },
351
+ {
352
+ "indexed": true,
353
+ "internalType": "address",
354
+ "name": "tokenOwner",
355
+ "type": "address"
356
+ },
357
+ {
358
+ "indexed": true,
359
+ "internalType": "bytes32",
360
+ "name": "tokenId",
361
+ "type": "bytes32"
362
+ },
363
+ {
364
+ "indexed": false,
365
+ "internalType": "bytes",
366
+ "name": "operatorNotificationData",
367
+ "type": "bytes"
368
+ }
369
+ ],
370
+ "name": "OperatorAuthorizationChanged",
371
+ "type": "event"
372
+ },
373
+ {
374
+ "anonymous": false,
375
+ "inputs": [
376
+ {
377
+ "indexed": true,
378
+ "internalType": "address",
379
+ "name": "operator",
380
+ "type": "address"
381
+ },
382
+ {
383
+ "indexed": true,
384
+ "internalType": "address",
385
+ "name": "tokenOwner",
386
+ "type": "address"
387
+ },
388
+ {
389
+ "indexed": true,
390
+ "internalType": "bytes32",
391
+ "name": "tokenId",
392
+ "type": "bytes32"
393
+ },
394
+ {
395
+ "indexed": false,
396
+ "internalType": "bool",
397
+ "name": "notified",
398
+ "type": "bool"
399
+ },
400
+ {
401
+ "indexed": false,
402
+ "internalType": "bytes",
403
+ "name": "operatorNotificationData",
404
+ "type": "bytes"
405
+ }
406
+ ],
407
+ "name": "OperatorRevoked",
408
+ "type": "event"
409
+ },
410
+ {
411
+ "anonymous": false,
412
+ "inputs": [
413
+ {
414
+ "indexed": true,
415
+ "internalType": "address",
416
+ "name": "previousOwner",
417
+ "type": "address"
418
+ },
419
+ {
420
+ "indexed": true,
421
+ "internalType": "address",
422
+ "name": "newOwner",
423
+ "type": "address"
424
+ }
425
+ ],
426
+ "name": "OwnershipTransferred",
427
+ "type": "event"
428
+ },
429
+ {
430
+ "anonymous": false,
431
+ "inputs": [
432
+ {
433
+ "indexed": true,
434
+ "internalType": "bytes32",
435
+ "name": "role",
436
+ "type": "bytes32"
437
+ },
438
+ {
439
+ "indexed": true,
440
+ "internalType": "bytes32",
441
+ "name": "previousAdminRole",
442
+ "type": "bytes32"
443
+ },
444
+ {
445
+ "indexed": true,
446
+ "internalType": "bytes32",
447
+ "name": "newAdminRole",
448
+ "type": "bytes32"
449
+ }
450
+ ],
451
+ "name": "RoleAdminChanged",
452
+ "type": "event"
453
+ },
454
+ {
455
+ "anonymous": false,
456
+ "inputs": [
457
+ {
458
+ "indexed": true,
459
+ "internalType": "bytes32",
460
+ "name": "role",
461
+ "type": "bytes32"
462
+ },
463
+ {
464
+ "indexed": true,
465
+ "internalType": "address",
466
+ "name": "account",
467
+ "type": "address"
468
+ },
469
+ {
470
+ "indexed": true,
471
+ "internalType": "address",
472
+ "name": "sender",
473
+ "type": "address"
474
+ }
475
+ ],
476
+ "name": "RoleGranted",
477
+ "type": "event"
478
+ },
479
+ {
480
+ "anonymous": false,
481
+ "inputs": [
482
+ {
483
+ "indexed": true,
484
+ "internalType": "bytes32",
485
+ "name": "role",
486
+ "type": "bytes32"
487
+ },
488
+ {
489
+ "indexed": true,
490
+ "internalType": "address",
491
+ "name": "account",
492
+ "type": "address"
493
+ },
494
+ {
495
+ "indexed": true,
496
+ "internalType": "address",
497
+ "name": "sender",
498
+ "type": "address"
499
+ }
500
+ ],
501
+ "name": "RoleRevoked",
502
+ "type": "event"
503
+ },
504
+ {
505
+ "anonymous": false,
506
+ "inputs": [
507
+ {
508
+ "indexed": true,
509
+ "internalType": "bytes32",
510
+ "name": "tokenId",
511
+ "type": "bytes32"
512
+ },
513
+ {
514
+ "indexed": true,
515
+ "internalType": "bytes32",
516
+ "name": "dataKey",
517
+ "type": "bytes32"
518
+ },
519
+ {
520
+ "indexed": false,
521
+ "internalType": "bytes",
522
+ "name": "dataValue",
523
+ "type": "bytes"
524
+ }
525
+ ],
526
+ "name": "TokenIdDataChanged",
527
+ "type": "event"
528
+ },
529
+ {
530
+ "anonymous": false,
531
+ "inputs": [
532
+ {
533
+ "indexed": false,
534
+ "internalType": "address",
535
+ "name": "operator",
536
+ "type": "address"
537
+ },
538
+ {
539
+ "indexed": true,
540
+ "internalType": "address",
541
+ "name": "from",
542
+ "type": "address"
543
+ },
544
+ {
545
+ "indexed": true,
546
+ "internalType": "address",
547
+ "name": "to",
548
+ "type": "address"
549
+ },
550
+ {
551
+ "indexed": true,
552
+ "internalType": "bytes32",
553
+ "name": "tokenId",
554
+ "type": "bytes32"
555
+ },
556
+ {
557
+ "indexed": false,
558
+ "internalType": "bool",
559
+ "name": "force",
560
+ "type": "bool"
561
+ },
562
+ {
563
+ "indexed": false,
564
+ "internalType": "bytes",
565
+ "name": "data",
566
+ "type": "bytes"
567
+ }
568
+ ],
569
+ "name": "Transfer",
570
+ "type": "event"
571
+ },
572
+ {
573
+ "anonymous": false,
574
+ "inputs": [
575
+ {
576
+ "indexed": true,
577
+ "internalType": "bool",
578
+ "name": "nonTransferabilityEnabled",
579
+ "type": "bool"
580
+ },
581
+ {
582
+ "indexed": true,
583
+ "internalType": "uint256",
584
+ "name": "start",
585
+ "type": "uint256"
586
+ },
587
+ {
588
+ "indexed": true,
589
+ "internalType": "uint256",
590
+ "name": "end",
591
+ "type": "uint256"
592
+ }
593
+ ],
594
+ "name": "TransferLockPeriodChanged",
595
+ "type": "event"
596
+ },
597
+ {
598
+ "stateMutability": "payable",
599
+ "type": "fallback"
600
+ },
601
+ {
602
+ "inputs": [],
603
+ "name": "DEFAULT_ADMIN_ROLE",
604
+ "outputs": [
605
+ {
606
+ "internalType": "bytes32",
607
+ "name": "",
608
+ "type": "bytes32"
609
+ }
610
+ ],
611
+ "stateMutability": "view",
612
+ "type": "function"
613
+ },
614
+ {
615
+ "inputs": [],
616
+ "name": "NON_TRANSFERABLE_BYPASS_ROLE",
617
+ "outputs": [
618
+ {
619
+ "internalType": "bytes32",
620
+ "name": "",
621
+ "type": "bytes32"
622
+ }
623
+ ],
624
+ "stateMutability": "view",
625
+ "type": "function"
626
+ },
627
+ {
628
+ "inputs": [
629
+ {
630
+ "internalType": "address",
631
+ "name": "operator",
632
+ "type": "address"
633
+ },
634
+ {
635
+ "internalType": "bytes32",
636
+ "name": "tokenId",
637
+ "type": "bytes32"
638
+ },
639
+ {
640
+ "internalType": "bytes",
641
+ "name": "operatorNotificationData",
642
+ "type": "bytes"
643
+ }
644
+ ],
645
+ "name": "authorizeOperator",
646
+ "outputs": [],
647
+ "stateMutability": "nonpayable",
648
+ "type": "function"
649
+ },
650
+ {
651
+ "inputs": [
652
+ {
653
+ "internalType": "address",
654
+ "name": "tokenOwner",
655
+ "type": "address"
656
+ }
657
+ ],
658
+ "name": "balanceOf",
659
+ "outputs": [
660
+ {
661
+ "internalType": "uint256",
662
+ "name": "",
663
+ "type": "uint256"
664
+ }
665
+ ],
666
+ "stateMutability": "view",
667
+ "type": "function"
668
+ },
669
+ {
670
+ "inputs": [
671
+ {
672
+ "internalType": "bytes[]",
673
+ "name": "data",
674
+ "type": "bytes[]"
675
+ }
676
+ ],
677
+ "name": "batchCalls",
678
+ "outputs": [
679
+ {
680
+ "internalType": "bytes[]",
681
+ "name": "results",
682
+ "type": "bytes[]"
683
+ }
684
+ ],
685
+ "stateMutability": "nonpayable",
686
+ "type": "function"
687
+ },
688
+ {
689
+ "inputs": [
690
+ {
691
+ "internalType": "bytes32",
692
+ "name": "dataKey",
693
+ "type": "bytes32"
694
+ }
695
+ ],
696
+ "name": "getData",
697
+ "outputs": [
698
+ {
699
+ "internalType": "bytes",
700
+ "name": "dataValue",
701
+ "type": "bytes"
702
+ }
703
+ ],
704
+ "stateMutability": "view",
705
+ "type": "function"
706
+ },
707
+ {
708
+ "inputs": [
709
+ {
710
+ "internalType": "bytes32[]",
711
+ "name": "dataKeys",
712
+ "type": "bytes32[]"
713
+ }
714
+ ],
715
+ "name": "getDataBatch",
716
+ "outputs": [
717
+ {
718
+ "internalType": "bytes[]",
719
+ "name": "dataValues",
720
+ "type": "bytes[]"
721
+ }
722
+ ],
723
+ "stateMutability": "view",
724
+ "type": "function"
725
+ },
726
+ {
727
+ "inputs": [
728
+ {
729
+ "internalType": "bytes32[]",
730
+ "name": "tokenIds",
731
+ "type": "bytes32[]"
732
+ },
733
+ {
734
+ "internalType": "bytes32[]",
735
+ "name": "dataKeys",
736
+ "type": "bytes32[]"
737
+ }
738
+ ],
739
+ "name": "getDataBatchForTokenIds",
740
+ "outputs": [
741
+ {
742
+ "internalType": "bytes[]",
743
+ "name": "dataValues",
744
+ "type": "bytes[]"
745
+ }
746
+ ],
747
+ "stateMutability": "view",
748
+ "type": "function"
749
+ },
750
+ {
751
+ "inputs": [
752
+ {
753
+ "internalType": "bytes32",
754
+ "name": "tokenId",
755
+ "type": "bytes32"
756
+ },
757
+ {
758
+ "internalType": "bytes32",
759
+ "name": "dataKey",
760
+ "type": "bytes32"
761
+ }
762
+ ],
763
+ "name": "getDataForTokenId",
764
+ "outputs": [
765
+ {
766
+ "internalType": "bytes",
767
+ "name": "dataValue",
768
+ "type": "bytes"
769
+ }
770
+ ],
771
+ "stateMutability": "view",
772
+ "type": "function"
773
+ },
774
+ {
775
+ "inputs": [
776
+ {
777
+ "internalType": "bytes32",
778
+ "name": "tokenId",
779
+ "type": "bytes32"
780
+ }
781
+ ],
782
+ "name": "getOperatorsOf",
783
+ "outputs": [
784
+ {
785
+ "internalType": "address[]",
786
+ "name": "",
787
+ "type": "address[]"
788
+ }
789
+ ],
790
+ "stateMutability": "view",
791
+ "type": "function"
792
+ },
793
+ {
794
+ "inputs": [
795
+ {
796
+ "internalType": "bytes32",
797
+ "name": "role",
798
+ "type": "bytes32"
799
+ }
800
+ ],
801
+ "name": "getRoleAdmin",
802
+ "outputs": [
803
+ {
804
+ "internalType": "bytes32",
805
+ "name": "",
806
+ "type": "bytes32"
807
+ }
808
+ ],
809
+ "stateMutability": "view",
810
+ "type": "function"
811
+ },
812
+ {
813
+ "inputs": [
814
+ {
815
+ "internalType": "bytes32",
816
+ "name": "role",
817
+ "type": "bytes32"
818
+ },
819
+ {
820
+ "internalType": "uint256",
821
+ "name": "index",
822
+ "type": "uint256"
823
+ }
824
+ ],
825
+ "name": "getRoleMember",
826
+ "outputs": [
827
+ {
828
+ "internalType": "address",
829
+ "name": "",
830
+ "type": "address"
831
+ }
832
+ ],
833
+ "stateMutability": "view",
834
+ "type": "function"
835
+ },
836
+ {
837
+ "inputs": [
838
+ {
839
+ "internalType": "bytes32",
840
+ "name": "role",
841
+ "type": "bytes32"
842
+ }
843
+ ],
844
+ "name": "getRoleMemberCount",
845
+ "outputs": [
846
+ {
847
+ "internalType": "uint256",
848
+ "name": "",
849
+ "type": "uint256"
850
+ }
851
+ ],
852
+ "stateMutability": "view",
853
+ "type": "function"
854
+ },
855
+ {
856
+ "inputs": [
857
+ {
858
+ "internalType": "bytes32",
859
+ "name": "role",
860
+ "type": "bytes32"
861
+ }
862
+ ],
863
+ "name": "getRoleMembers",
864
+ "outputs": [
865
+ {
866
+ "internalType": "address[]",
867
+ "name": "",
868
+ "type": "address[]"
869
+ }
870
+ ],
871
+ "stateMutability": "view",
872
+ "type": "function"
873
+ },
874
+ {
875
+ "inputs": [
876
+ {
877
+ "internalType": "bytes32",
878
+ "name": "role",
879
+ "type": "bytes32"
880
+ },
881
+ {
882
+ "internalType": "address",
883
+ "name": "account",
884
+ "type": "address"
885
+ }
886
+ ],
887
+ "name": "grantRole",
888
+ "outputs": [],
889
+ "stateMutability": "nonpayable",
890
+ "type": "function"
891
+ },
892
+ {
893
+ "inputs": [
894
+ {
895
+ "internalType": "bytes32",
896
+ "name": "role",
897
+ "type": "bytes32"
898
+ },
899
+ {
900
+ "internalType": "address",
901
+ "name": "account",
902
+ "type": "address"
903
+ }
904
+ ],
905
+ "name": "hasRole",
906
+ "outputs": [
907
+ {
908
+ "internalType": "bool",
909
+ "name": "",
910
+ "type": "bool"
911
+ }
912
+ ],
913
+ "stateMutability": "view",
914
+ "type": "function"
915
+ },
916
+ {
917
+ "inputs": [
918
+ {
919
+ "internalType": "address",
920
+ "name": "operator",
921
+ "type": "address"
922
+ },
923
+ {
924
+ "internalType": "bytes32",
925
+ "name": "tokenId",
926
+ "type": "bytes32"
927
+ }
928
+ ],
929
+ "name": "isOperatorFor",
930
+ "outputs": [
931
+ {
932
+ "internalType": "bool",
933
+ "name": "",
934
+ "type": "bool"
935
+ }
936
+ ],
937
+ "stateMutability": "view",
938
+ "type": "function"
939
+ },
940
+ {
941
+ "inputs": [],
942
+ "name": "isTransferable",
943
+ "outputs": [
944
+ {
945
+ "internalType": "bool",
946
+ "name": "",
947
+ "type": "bool"
948
+ }
949
+ ],
950
+ "stateMutability": "view",
951
+ "type": "function"
952
+ },
953
+ {
954
+ "inputs": [],
955
+ "name": "makeTransferable",
956
+ "outputs": [],
957
+ "stateMutability": "nonpayable",
958
+ "type": "function"
959
+ },
960
+ {
961
+ "inputs": [],
962
+ "name": "nonTransferabilityEnabled",
963
+ "outputs": [
964
+ {
965
+ "internalType": "bool",
966
+ "name": "",
967
+ "type": "bool"
968
+ }
969
+ ],
970
+ "stateMutability": "view",
971
+ "type": "function"
972
+ },
973
+ {
974
+ "inputs": [],
975
+ "name": "owner",
976
+ "outputs": [
977
+ {
978
+ "internalType": "address",
979
+ "name": "",
980
+ "type": "address"
981
+ }
982
+ ],
983
+ "stateMutability": "view",
984
+ "type": "function"
985
+ },
986
+ {
987
+ "inputs": [],
988
+ "name": "renounceOwnership",
989
+ "outputs": [],
990
+ "stateMutability": "nonpayable",
991
+ "type": "function"
992
+ },
993
+ {
994
+ "inputs": [
995
+ {
996
+ "internalType": "bytes32",
997
+ "name": "role",
998
+ "type": "bytes32"
999
+ },
1000
+ {
1001
+ "internalType": "address",
1002
+ "name": "callerConfirmation",
1003
+ "type": "address"
1004
+ }
1005
+ ],
1006
+ "name": "renounceRole",
1007
+ "outputs": [],
1008
+ "stateMutability": "nonpayable",
1009
+ "type": "function"
1010
+ },
1011
+ {
1012
+ "inputs": [
1013
+ {
1014
+ "internalType": "address",
1015
+ "name": "operator",
1016
+ "type": "address"
1017
+ },
1018
+ {
1019
+ "internalType": "bytes32",
1020
+ "name": "tokenId",
1021
+ "type": "bytes32"
1022
+ },
1023
+ {
1024
+ "internalType": "bool",
1025
+ "name": "notify",
1026
+ "type": "bool"
1027
+ },
1028
+ {
1029
+ "internalType": "bytes",
1030
+ "name": "operatorNotificationData",
1031
+ "type": "bytes"
1032
+ }
1033
+ ],
1034
+ "name": "revokeOperator",
1035
+ "outputs": [],
1036
+ "stateMutability": "nonpayable",
1037
+ "type": "function"
1038
+ },
1039
+ {
1040
+ "inputs": [
1041
+ {
1042
+ "internalType": "bytes32",
1043
+ "name": "role",
1044
+ "type": "bytes32"
1045
+ },
1046
+ {
1047
+ "internalType": "address",
1048
+ "name": "account",
1049
+ "type": "address"
1050
+ }
1051
+ ],
1052
+ "name": "revokeRole",
1053
+ "outputs": [],
1054
+ "stateMutability": "nonpayable",
1055
+ "type": "function"
1056
+ },
1057
+ {
1058
+ "inputs": [
1059
+ {
1060
+ "internalType": "address",
1061
+ "name": "account",
1062
+ "type": "address"
1063
+ }
1064
+ ],
1065
+ "name": "rolesOf",
1066
+ "outputs": [
1067
+ {
1068
+ "internalType": "bytes32[]",
1069
+ "name": "",
1070
+ "type": "bytes32[]"
1071
+ }
1072
+ ],
1073
+ "stateMutability": "view",
1074
+ "type": "function"
1075
+ },
1076
+ {
1077
+ "inputs": [
1078
+ {
1079
+ "internalType": "bytes32",
1080
+ "name": "dataKey",
1081
+ "type": "bytes32"
1082
+ },
1083
+ {
1084
+ "internalType": "bytes",
1085
+ "name": "dataValue",
1086
+ "type": "bytes"
1087
+ }
1088
+ ],
1089
+ "name": "setData",
1090
+ "outputs": [],
1091
+ "stateMutability": "payable",
1092
+ "type": "function"
1093
+ },
1094
+ {
1095
+ "inputs": [
1096
+ {
1097
+ "internalType": "bytes32[]",
1098
+ "name": "dataKeys",
1099
+ "type": "bytes32[]"
1100
+ },
1101
+ {
1102
+ "internalType": "bytes[]",
1103
+ "name": "dataValues",
1104
+ "type": "bytes[]"
1105
+ }
1106
+ ],
1107
+ "name": "setDataBatch",
1108
+ "outputs": [],
1109
+ "stateMutability": "payable",
1110
+ "type": "function"
1111
+ },
1112
+ {
1113
+ "inputs": [
1114
+ {
1115
+ "internalType": "bytes32[]",
1116
+ "name": "tokenIds",
1117
+ "type": "bytes32[]"
1118
+ },
1119
+ {
1120
+ "internalType": "bytes32[]",
1121
+ "name": "dataKeys",
1122
+ "type": "bytes32[]"
1123
+ },
1124
+ {
1125
+ "internalType": "bytes[]",
1126
+ "name": "dataValues",
1127
+ "type": "bytes[]"
1128
+ }
1129
+ ],
1130
+ "name": "setDataBatchForTokenIds",
1131
+ "outputs": [],
1132
+ "stateMutability": "nonpayable",
1133
+ "type": "function"
1134
+ },
1135
+ {
1136
+ "inputs": [
1137
+ {
1138
+ "internalType": "bytes32",
1139
+ "name": "tokenId",
1140
+ "type": "bytes32"
1141
+ },
1142
+ {
1143
+ "internalType": "bytes32",
1144
+ "name": "dataKey",
1145
+ "type": "bytes32"
1146
+ },
1147
+ {
1148
+ "internalType": "bytes",
1149
+ "name": "dataValue",
1150
+ "type": "bytes"
1151
+ }
1152
+ ],
1153
+ "name": "setDataForTokenId",
1154
+ "outputs": [],
1155
+ "stateMutability": "nonpayable",
1156
+ "type": "function"
1157
+ },
1158
+ {
1159
+ "inputs": [
1160
+ {
1161
+ "internalType": "bytes32",
1162
+ "name": "role",
1163
+ "type": "bytes32"
1164
+ },
1165
+ {
1166
+ "internalType": "bytes32",
1167
+ "name": "adminRole",
1168
+ "type": "bytes32"
1169
+ }
1170
+ ],
1171
+ "name": "setRoleAdmin",
1172
+ "outputs": [],
1173
+ "stateMutability": "nonpayable",
1174
+ "type": "function"
1175
+ },
1176
+ {
1177
+ "inputs": [
1178
+ {
1179
+ "internalType": "bytes4",
1180
+ "name": "interfaceId",
1181
+ "type": "bytes4"
1182
+ }
1183
+ ],
1184
+ "name": "supportsInterface",
1185
+ "outputs": [
1186
+ {
1187
+ "internalType": "bool",
1188
+ "name": "",
1189
+ "type": "bool"
1190
+ }
1191
+ ],
1192
+ "stateMutability": "view",
1193
+ "type": "function"
1194
+ },
1195
+ {
1196
+ "inputs": [
1197
+ {
1198
+ "internalType": "address",
1199
+ "name": "tokenOwner",
1200
+ "type": "address"
1201
+ }
1202
+ ],
1203
+ "name": "tokenIdsOf",
1204
+ "outputs": [
1205
+ {
1206
+ "internalType": "bytes32[]",
1207
+ "name": "",
1208
+ "type": "bytes32[]"
1209
+ }
1210
+ ],
1211
+ "stateMutability": "view",
1212
+ "type": "function"
1213
+ },
1214
+ {
1215
+ "inputs": [
1216
+ {
1217
+ "internalType": "bytes32",
1218
+ "name": "tokenId",
1219
+ "type": "bytes32"
1220
+ }
1221
+ ],
1222
+ "name": "tokenOwnerOf",
1223
+ "outputs": [
1224
+ {
1225
+ "internalType": "address",
1226
+ "name": "",
1227
+ "type": "address"
1228
+ }
1229
+ ],
1230
+ "stateMutability": "view",
1231
+ "type": "function"
1232
+ },
1233
+ {
1234
+ "inputs": [],
1235
+ "name": "totalSupply",
1236
+ "outputs": [
1237
+ {
1238
+ "internalType": "uint256",
1239
+ "name": "",
1240
+ "type": "uint256"
1241
+ }
1242
+ ],
1243
+ "stateMutability": "view",
1244
+ "type": "function"
1245
+ },
1246
+ {
1247
+ "inputs": [
1248
+ {
1249
+ "internalType": "address",
1250
+ "name": "from",
1251
+ "type": "address"
1252
+ },
1253
+ {
1254
+ "internalType": "address",
1255
+ "name": "to",
1256
+ "type": "address"
1257
+ },
1258
+ {
1259
+ "internalType": "bytes32",
1260
+ "name": "tokenId",
1261
+ "type": "bytes32"
1262
+ },
1263
+ {
1264
+ "internalType": "bool",
1265
+ "name": "force",
1266
+ "type": "bool"
1267
+ },
1268
+ {
1269
+ "internalType": "bytes",
1270
+ "name": "data",
1271
+ "type": "bytes"
1272
+ }
1273
+ ],
1274
+ "name": "transfer",
1275
+ "outputs": [],
1276
+ "stateMutability": "nonpayable",
1277
+ "type": "function"
1278
+ },
1279
+ {
1280
+ "inputs": [
1281
+ {
1282
+ "internalType": "address[]",
1283
+ "name": "from",
1284
+ "type": "address[]"
1285
+ },
1286
+ {
1287
+ "internalType": "address[]",
1288
+ "name": "to",
1289
+ "type": "address[]"
1290
+ },
1291
+ {
1292
+ "internalType": "bytes32[]",
1293
+ "name": "tokenId",
1294
+ "type": "bytes32[]"
1295
+ },
1296
+ {
1297
+ "internalType": "bool[]",
1298
+ "name": "force",
1299
+ "type": "bool[]"
1300
+ },
1301
+ {
1302
+ "internalType": "bytes[]",
1303
+ "name": "data",
1304
+ "type": "bytes[]"
1305
+ }
1306
+ ],
1307
+ "name": "transferBatch",
1308
+ "outputs": [],
1309
+ "stateMutability": "nonpayable",
1310
+ "type": "function"
1311
+ },
1312
+ {
1313
+ "inputs": [],
1314
+ "name": "transferLockEnd",
1315
+ "outputs": [
1316
+ {
1317
+ "internalType": "uint256",
1318
+ "name": "",
1319
+ "type": "uint256"
1320
+ }
1321
+ ],
1322
+ "stateMutability": "view",
1323
+ "type": "function"
1324
+ },
1325
+ {
1326
+ "inputs": [],
1327
+ "name": "transferLockStart",
1328
+ "outputs": [
1329
+ {
1330
+ "internalType": "uint256",
1331
+ "name": "",
1332
+ "type": "uint256"
1333
+ }
1334
+ ],
1335
+ "stateMutability": "view",
1336
+ "type": "function"
1337
+ },
1338
+ {
1339
+ "inputs": [
1340
+ {
1341
+ "internalType": "address",
1342
+ "name": "newOwner",
1343
+ "type": "address"
1344
+ }
1345
+ ],
1346
+ "name": "transferOwnership",
1347
+ "outputs": [],
1348
+ "stateMutability": "nonpayable",
1349
+ "type": "function"
1350
+ },
1351
+ {
1352
+ "inputs": [
1353
+ {
1354
+ "internalType": "uint256",
1355
+ "name": "newTransferLockStart",
1356
+ "type": "uint256"
1357
+ },
1358
+ {
1359
+ "internalType": "uint256",
1360
+ "name": "newTransferLockEnd",
1361
+ "type": "uint256"
1362
+ }
1363
+ ],
1364
+ "name": "updateTransferLockPeriod",
1365
+ "outputs": [],
1366
+ "stateMutability": "nonpayable",
1367
+ "type": "function"
1368
+ },
1369
+ {
1370
+ "stateMutability": "payable",
1371
+ "type": "receive"
1372
+ }
1373
+ ],
1374
+ "bytecode": "0x",
1375
+ "deployedBytecode": "0x",
1376
+ "linkReferences": {},
1377
+ "deployedLinkReferences": {},
1378
+ "immutableReferences": {},
1379
+ "inputSourceName": "project/contracts/extensions/LSP8NonTransferable/LSP8NonTransferableInitAbstract.sol",
1380
+ "buildInfoId": "solc-0_8_28-a1f189205db65800e276c245fa7f2fa7071cb3a5"
1381
+ }