@towns-protocol/generated 0.0.211 → 0.0.213

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 (37) hide show
  1. package/dev/abis/Channels.abi.json +30 -0
  2. package/dev/abis/Channels.abi.ts +30 -0
  3. package/dev/abis/DropFacet.abi.json +36 -0
  4. package/dev/abis/DropFacet.abi.ts +36 -0
  5. package/dev/abis/MembershipFacet.abi.json +5 -0
  6. package/dev/abis/MembershipFacet.abi.ts +5 -0
  7. package/dev/abis/Roles.abi.json +5 -0
  8. package/dev/abis/Roles.abi.ts +5 -0
  9. package/dev/typings/Architect.ts +513 -0
  10. package/dev/typings/Channels.ts +1003 -0
  11. package/dev/typings/DropFacet.ts +687 -0
  12. package/dev/typings/EntitlementsManager.ts +612 -0
  13. package/dev/typings/IDropFacet.ts +11 -3
  14. package/dev/typings/MockLegacyArchitect.ts +402 -0
  15. package/dev/typings/NodeRegistry.ts +470 -0
  16. package/dev/typings/OperatorRegistry.ts +345 -0
  17. package/dev/typings/Roles.ts +984 -0
  18. package/dev/typings/StreamRegistry.ts +737 -0
  19. package/dev/typings/WalletLink.ts +975 -0
  20. package/dev/typings/factories/Architect__factory.ts +406 -0
  21. package/dev/typings/factories/Channels__factory.ts +1037 -0
  22. package/dev/typings/factories/DropFacet__factory.ts +816 -0
  23. package/dev/typings/factories/EntitlementsManager__factory.ts +688 -0
  24. package/dev/typings/factories/IChannel__factory.ts +25 -0
  25. package/dev/typings/factories/IDropFacet__factory.ts +15 -0
  26. package/dev/typings/factories/IRoles__factory.ts +5 -0
  27. package/dev/typings/factories/MembershipFacet__factory.ts +6 -1
  28. package/dev/typings/factories/MockLegacyArchitect__factory.ts +433 -0
  29. package/dev/typings/factories/NodeRegistry__factory.ts +335 -0
  30. package/dev/typings/factories/OperatorRegistry__factory.ts +254 -0
  31. package/dev/typings/factories/Roles__factory.ts +998 -0
  32. package/dev/typings/factories/SpaceOwner__factory.ts +1 -11
  33. package/dev/typings/factories/StreamRegistry__factory.ts +604 -0
  34. package/dev/typings/factories/WalletLink__factory.ts +899 -0
  35. package/dev/typings/factories/index.ts +10 -0
  36. package/dev/typings/index.ts +20 -0
  37. package/package.json +2 -2
@@ -0,0 +1,998 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type { PromiseOrValue } from "../common";
7
+ import type { Roles, RolesInterface } from "../Roles";
8
+
9
+ const _abi = [
10
+ {
11
+ type: "function",
12
+ name: "addPermissionsToRole",
13
+ inputs: [
14
+ {
15
+ name: "roleId",
16
+ type: "uint256",
17
+ internalType: "uint256",
18
+ },
19
+ {
20
+ name: "permissions",
21
+ type: "string[]",
22
+ internalType: "string[]",
23
+ },
24
+ ],
25
+ outputs: [],
26
+ stateMutability: "nonpayable",
27
+ },
28
+ {
29
+ type: "function",
30
+ name: "addRoleToEntitlement",
31
+ inputs: [
32
+ {
33
+ name: "roleId",
34
+ type: "uint256",
35
+ internalType: "uint256",
36
+ },
37
+ {
38
+ name: "entitlement",
39
+ type: "tuple",
40
+ internalType: "struct IRolesBase.CreateEntitlement",
41
+ components: [
42
+ {
43
+ name: "module",
44
+ type: "address",
45
+ internalType: "contract IEntitlement",
46
+ },
47
+ {
48
+ name: "data",
49
+ type: "bytes",
50
+ internalType: "bytes",
51
+ },
52
+ ],
53
+ },
54
+ ],
55
+ outputs: [],
56
+ stateMutability: "nonpayable",
57
+ },
58
+ {
59
+ type: "function",
60
+ name: "clearChannelPermissionOverrides",
61
+ inputs: [
62
+ {
63
+ name: "roleId",
64
+ type: "uint256",
65
+ internalType: "uint256",
66
+ },
67
+ {
68
+ name: "channelId",
69
+ type: "bytes32",
70
+ internalType: "bytes32",
71
+ },
72
+ ],
73
+ outputs: [],
74
+ stateMutability: "nonpayable",
75
+ },
76
+ {
77
+ type: "function",
78
+ name: "createRole",
79
+ inputs: [
80
+ {
81
+ name: "roleName",
82
+ type: "string",
83
+ internalType: "string",
84
+ },
85
+ {
86
+ name: "permissions",
87
+ type: "string[]",
88
+ internalType: "string[]",
89
+ },
90
+ {
91
+ name: "entitlements",
92
+ type: "tuple[]",
93
+ internalType: "struct IRolesBase.CreateEntitlement[]",
94
+ components: [
95
+ {
96
+ name: "module",
97
+ type: "address",
98
+ internalType: "contract IEntitlement",
99
+ },
100
+ {
101
+ name: "data",
102
+ type: "bytes",
103
+ internalType: "bytes",
104
+ },
105
+ ],
106
+ },
107
+ ],
108
+ outputs: [
109
+ {
110
+ name: "",
111
+ type: "uint256",
112
+ internalType: "uint256",
113
+ },
114
+ ],
115
+ stateMutability: "nonpayable",
116
+ },
117
+ {
118
+ type: "function",
119
+ name: "getChannelPermissionOverrides",
120
+ inputs: [
121
+ {
122
+ name: "roleId",
123
+ type: "uint256",
124
+ internalType: "uint256",
125
+ },
126
+ {
127
+ name: "channelId",
128
+ type: "bytes32",
129
+ internalType: "bytes32",
130
+ },
131
+ ],
132
+ outputs: [
133
+ {
134
+ name: "permissions",
135
+ type: "string[]",
136
+ internalType: "string[]",
137
+ },
138
+ ],
139
+ stateMutability: "view",
140
+ },
141
+ {
142
+ type: "function",
143
+ name: "getPermissionsByRoleId",
144
+ inputs: [
145
+ {
146
+ name: "roleId",
147
+ type: "uint256",
148
+ internalType: "uint256",
149
+ },
150
+ ],
151
+ outputs: [
152
+ {
153
+ name: "permissions",
154
+ type: "string[]",
155
+ internalType: "string[]",
156
+ },
157
+ ],
158
+ stateMutability: "view",
159
+ },
160
+ {
161
+ type: "function",
162
+ name: "getRoleById",
163
+ inputs: [
164
+ {
165
+ name: "roleId",
166
+ type: "uint256",
167
+ internalType: "uint256",
168
+ },
169
+ ],
170
+ outputs: [
171
+ {
172
+ name: "",
173
+ type: "tuple",
174
+ internalType: "struct IRolesBase.Role",
175
+ components: [
176
+ {
177
+ name: "id",
178
+ type: "uint256",
179
+ internalType: "uint256",
180
+ },
181
+ {
182
+ name: "name",
183
+ type: "string",
184
+ internalType: "string",
185
+ },
186
+ {
187
+ name: "disabled",
188
+ type: "bool",
189
+ internalType: "bool",
190
+ },
191
+ {
192
+ name: "permissions",
193
+ type: "string[]",
194
+ internalType: "string[]",
195
+ },
196
+ {
197
+ name: "entitlements",
198
+ type: "address[]",
199
+ internalType: "contract IEntitlement[]",
200
+ },
201
+ ],
202
+ },
203
+ ],
204
+ stateMutability: "view",
205
+ },
206
+ {
207
+ type: "function",
208
+ name: "getRoles",
209
+ inputs: [],
210
+ outputs: [
211
+ {
212
+ name: "",
213
+ type: "tuple[]",
214
+ internalType: "struct IRolesBase.Role[]",
215
+ components: [
216
+ {
217
+ name: "id",
218
+ type: "uint256",
219
+ internalType: "uint256",
220
+ },
221
+ {
222
+ name: "name",
223
+ type: "string",
224
+ internalType: "string",
225
+ },
226
+ {
227
+ name: "disabled",
228
+ type: "bool",
229
+ internalType: "bool",
230
+ },
231
+ {
232
+ name: "permissions",
233
+ type: "string[]",
234
+ internalType: "string[]",
235
+ },
236
+ {
237
+ name: "entitlements",
238
+ type: "address[]",
239
+ internalType: "contract IEntitlement[]",
240
+ },
241
+ ],
242
+ },
243
+ ],
244
+ stateMutability: "view",
245
+ },
246
+ {
247
+ type: "function",
248
+ name: "removePermissionsFromRole",
249
+ inputs: [
250
+ {
251
+ name: "roleId",
252
+ type: "uint256",
253
+ internalType: "uint256",
254
+ },
255
+ {
256
+ name: "permissions",
257
+ type: "string[]",
258
+ internalType: "string[]",
259
+ },
260
+ ],
261
+ outputs: [],
262
+ stateMutability: "nonpayable",
263
+ },
264
+ {
265
+ type: "function",
266
+ name: "removeRole",
267
+ inputs: [
268
+ {
269
+ name: "roleId",
270
+ type: "uint256",
271
+ internalType: "uint256",
272
+ },
273
+ ],
274
+ outputs: [],
275
+ stateMutability: "nonpayable",
276
+ },
277
+ {
278
+ type: "function",
279
+ name: "removeRoleFromEntitlement",
280
+ inputs: [
281
+ {
282
+ name: "roleId",
283
+ type: "uint256",
284
+ internalType: "uint256",
285
+ },
286
+ {
287
+ name: "entitlement",
288
+ type: "tuple",
289
+ internalType: "struct IRolesBase.CreateEntitlement",
290
+ components: [
291
+ {
292
+ name: "module",
293
+ type: "address",
294
+ internalType: "contract IEntitlement",
295
+ },
296
+ {
297
+ name: "data",
298
+ type: "bytes",
299
+ internalType: "bytes",
300
+ },
301
+ ],
302
+ },
303
+ ],
304
+ outputs: [],
305
+ stateMutability: "nonpayable",
306
+ },
307
+ {
308
+ type: "function",
309
+ name: "setChannelPermissionOverrides",
310
+ inputs: [
311
+ {
312
+ name: "roleId",
313
+ type: "uint256",
314
+ internalType: "uint256",
315
+ },
316
+ {
317
+ name: "channelId",
318
+ type: "bytes32",
319
+ internalType: "bytes32",
320
+ },
321
+ {
322
+ name: "permissions",
323
+ type: "string[]",
324
+ internalType: "string[]",
325
+ },
326
+ ],
327
+ outputs: [],
328
+ stateMutability: "nonpayable",
329
+ },
330
+ {
331
+ type: "function",
332
+ name: "updateRole",
333
+ inputs: [
334
+ {
335
+ name: "roleId",
336
+ type: "uint256",
337
+ internalType: "uint256",
338
+ },
339
+ {
340
+ name: "roleName",
341
+ type: "string",
342
+ internalType: "string",
343
+ },
344
+ {
345
+ name: "permissions",
346
+ type: "string[]",
347
+ internalType: "string[]",
348
+ },
349
+ {
350
+ name: "entitlements",
351
+ type: "tuple[]",
352
+ internalType: "struct IRolesBase.CreateEntitlement[]",
353
+ components: [
354
+ {
355
+ name: "module",
356
+ type: "address",
357
+ internalType: "contract IEntitlement",
358
+ },
359
+ {
360
+ name: "data",
361
+ type: "bytes",
362
+ internalType: "bytes",
363
+ },
364
+ ],
365
+ },
366
+ ],
367
+ outputs: [],
368
+ stateMutability: "nonpayable",
369
+ },
370
+ {
371
+ type: "event",
372
+ name: "Approval",
373
+ inputs: [
374
+ {
375
+ name: "owner",
376
+ type: "address",
377
+ indexed: true,
378
+ internalType: "address",
379
+ },
380
+ {
381
+ name: "approved",
382
+ type: "address",
383
+ indexed: true,
384
+ internalType: "address",
385
+ },
386
+ {
387
+ name: "tokenId",
388
+ type: "uint256",
389
+ indexed: true,
390
+ internalType: "uint256",
391
+ },
392
+ ],
393
+ anonymous: false,
394
+ },
395
+ {
396
+ type: "event",
397
+ name: "ApprovalForAll",
398
+ inputs: [
399
+ {
400
+ name: "owner",
401
+ type: "address",
402
+ indexed: true,
403
+ internalType: "address",
404
+ },
405
+ {
406
+ name: "operator",
407
+ type: "address",
408
+ indexed: true,
409
+ internalType: "address",
410
+ },
411
+ {
412
+ name: "approved",
413
+ type: "bool",
414
+ indexed: false,
415
+ internalType: "bool",
416
+ },
417
+ ],
418
+ anonymous: false,
419
+ },
420
+ {
421
+ type: "event",
422
+ name: "Banned",
423
+ inputs: [
424
+ {
425
+ name: "moderator",
426
+ type: "address",
427
+ indexed: true,
428
+ internalType: "address",
429
+ },
430
+ {
431
+ name: "tokenId",
432
+ type: "uint256",
433
+ indexed: true,
434
+ internalType: "uint256",
435
+ },
436
+ ],
437
+ anonymous: false,
438
+ },
439
+ {
440
+ type: "event",
441
+ name: "ConsecutiveTransfer",
442
+ inputs: [
443
+ {
444
+ name: "fromTokenId",
445
+ type: "uint256",
446
+ indexed: true,
447
+ internalType: "uint256",
448
+ },
449
+ {
450
+ name: "toTokenId",
451
+ type: "uint256",
452
+ indexed: false,
453
+ internalType: "uint256",
454
+ },
455
+ {
456
+ name: "from",
457
+ type: "address",
458
+ indexed: true,
459
+ internalType: "address",
460
+ },
461
+ {
462
+ name: "to",
463
+ type: "address",
464
+ indexed: true,
465
+ internalType: "address",
466
+ },
467
+ ],
468
+ anonymous: false,
469
+ },
470
+ {
471
+ type: "event",
472
+ name: "OwnershipTransferred",
473
+ inputs: [
474
+ {
475
+ name: "previousOwner",
476
+ type: "address",
477
+ indexed: true,
478
+ internalType: "address",
479
+ },
480
+ {
481
+ name: "newOwner",
482
+ type: "address",
483
+ indexed: true,
484
+ internalType: "address",
485
+ },
486
+ ],
487
+ anonymous: false,
488
+ },
489
+ {
490
+ type: "event",
491
+ name: "Paused",
492
+ inputs: [
493
+ {
494
+ name: "account",
495
+ type: "address",
496
+ indexed: false,
497
+ internalType: "address",
498
+ },
499
+ ],
500
+ anonymous: false,
501
+ },
502
+ {
503
+ type: "event",
504
+ name: "PermissionsAddedToChannelRole",
505
+ inputs: [
506
+ {
507
+ name: "updater",
508
+ type: "address",
509
+ indexed: true,
510
+ internalType: "address",
511
+ },
512
+ {
513
+ name: "roleId",
514
+ type: "uint256",
515
+ indexed: true,
516
+ internalType: "uint256",
517
+ },
518
+ {
519
+ name: "channelId",
520
+ type: "bytes32",
521
+ indexed: true,
522
+ internalType: "bytes32",
523
+ },
524
+ ],
525
+ anonymous: false,
526
+ },
527
+ {
528
+ type: "event",
529
+ name: "PermissionsRemovedFromChannelRole",
530
+ inputs: [
531
+ {
532
+ name: "updater",
533
+ type: "address",
534
+ indexed: true,
535
+ internalType: "address",
536
+ },
537
+ {
538
+ name: "roleId",
539
+ type: "uint256",
540
+ indexed: true,
541
+ internalType: "uint256",
542
+ },
543
+ {
544
+ name: "channelId",
545
+ type: "bytes32",
546
+ indexed: true,
547
+ internalType: "bytes32",
548
+ },
549
+ ],
550
+ anonymous: false,
551
+ },
552
+ {
553
+ type: "event",
554
+ name: "PermissionsUpdatedForChannelRole",
555
+ inputs: [
556
+ {
557
+ name: "updater",
558
+ type: "address",
559
+ indexed: true,
560
+ internalType: "address",
561
+ },
562
+ {
563
+ name: "roleId",
564
+ type: "uint256",
565
+ indexed: true,
566
+ internalType: "uint256",
567
+ },
568
+ {
569
+ name: "channelId",
570
+ type: "bytes32",
571
+ indexed: true,
572
+ internalType: "bytes32",
573
+ },
574
+ ],
575
+ anonymous: false,
576
+ },
577
+ {
578
+ type: "event",
579
+ name: "RoleCreated",
580
+ inputs: [
581
+ {
582
+ name: "creator",
583
+ type: "address",
584
+ indexed: true,
585
+ internalType: "address",
586
+ },
587
+ {
588
+ name: "roleId",
589
+ type: "uint256",
590
+ indexed: true,
591
+ internalType: "uint256",
592
+ },
593
+ ],
594
+ anonymous: false,
595
+ },
596
+ {
597
+ type: "event",
598
+ name: "RoleRemoved",
599
+ inputs: [
600
+ {
601
+ name: "remover",
602
+ type: "address",
603
+ indexed: true,
604
+ internalType: "address",
605
+ },
606
+ {
607
+ name: "roleId",
608
+ type: "uint256",
609
+ indexed: true,
610
+ internalType: "uint256",
611
+ },
612
+ ],
613
+ anonymous: false,
614
+ },
615
+ {
616
+ type: "event",
617
+ name: "RoleUpdated",
618
+ inputs: [
619
+ {
620
+ name: "updater",
621
+ type: "address",
622
+ indexed: true,
623
+ internalType: "address",
624
+ },
625
+ {
626
+ name: "roleId",
627
+ type: "uint256",
628
+ indexed: true,
629
+ internalType: "uint256",
630
+ },
631
+ ],
632
+ anonymous: false,
633
+ },
634
+ {
635
+ type: "event",
636
+ name: "SubscriptionUpdate",
637
+ inputs: [
638
+ {
639
+ name: "tokenId",
640
+ type: "uint256",
641
+ indexed: true,
642
+ internalType: "uint256",
643
+ },
644
+ {
645
+ name: "expiration",
646
+ type: "uint64",
647
+ indexed: false,
648
+ internalType: "uint64",
649
+ },
650
+ ],
651
+ anonymous: false,
652
+ },
653
+ {
654
+ type: "event",
655
+ name: "Transfer",
656
+ inputs: [
657
+ {
658
+ name: "from",
659
+ type: "address",
660
+ indexed: true,
661
+ internalType: "address",
662
+ },
663
+ {
664
+ name: "to",
665
+ type: "address",
666
+ indexed: true,
667
+ internalType: "address",
668
+ },
669
+ {
670
+ name: "tokenId",
671
+ type: "uint256",
672
+ indexed: true,
673
+ internalType: "uint256",
674
+ },
675
+ ],
676
+ anonymous: false,
677
+ },
678
+ {
679
+ type: "event",
680
+ name: "Unbanned",
681
+ inputs: [
682
+ {
683
+ name: "moderator",
684
+ type: "address",
685
+ indexed: true,
686
+ internalType: "address",
687
+ },
688
+ {
689
+ name: "tokenId",
690
+ type: "uint256",
691
+ indexed: true,
692
+ internalType: "uint256",
693
+ },
694
+ ],
695
+ anonymous: false,
696
+ },
697
+ {
698
+ type: "event",
699
+ name: "Unpaused",
700
+ inputs: [
701
+ {
702
+ name: "account",
703
+ type: "address",
704
+ indexed: false,
705
+ internalType: "address",
706
+ },
707
+ ],
708
+ anonymous: false,
709
+ },
710
+ {
711
+ type: "error",
712
+ name: "ApprovalCallerNotOwnerNorApproved",
713
+ inputs: [],
714
+ },
715
+ {
716
+ type: "error",
717
+ name: "ApprovalQueryForNonexistentToken",
718
+ inputs: [],
719
+ },
720
+ {
721
+ type: "error",
722
+ name: "BalanceQueryForZeroAddress",
723
+ inputs: [],
724
+ },
725
+ {
726
+ type: "error",
727
+ name: "Banning__AlreadyBanned",
728
+ inputs: [
729
+ {
730
+ name: "tokenId",
731
+ type: "uint256",
732
+ internalType: "uint256",
733
+ },
734
+ ],
735
+ },
736
+ {
737
+ type: "error",
738
+ name: "Banning__CannotBanOwner",
739
+ inputs: [],
740
+ },
741
+ {
742
+ type: "error",
743
+ name: "Banning__CannotBanSelf",
744
+ inputs: [],
745
+ },
746
+ {
747
+ type: "error",
748
+ name: "Banning__InvalidTokenId",
749
+ inputs: [
750
+ {
751
+ name: "tokenId",
752
+ type: "uint256",
753
+ internalType: "uint256",
754
+ },
755
+ ],
756
+ },
757
+ {
758
+ type: "error",
759
+ name: "Banning__NotBanned",
760
+ inputs: [
761
+ {
762
+ name: "tokenId",
763
+ type: "uint256",
764
+ internalType: "uint256",
765
+ },
766
+ ],
767
+ },
768
+ {
769
+ type: "error",
770
+ name: "ERC5643__DurationZero",
771
+ inputs: [],
772
+ },
773
+ {
774
+ type: "error",
775
+ name: "ERC5643__InvalidTokenId",
776
+ inputs: [
777
+ {
778
+ name: "tokenId",
779
+ type: "uint256",
780
+ internalType: "uint256",
781
+ },
782
+ ],
783
+ },
784
+ {
785
+ type: "error",
786
+ name: "ERC5643__NotApprovedOrOwner",
787
+ inputs: [],
788
+ },
789
+ {
790
+ type: "error",
791
+ name: "ERC5643__SubscriptionNotRenewable",
792
+ inputs: [
793
+ {
794
+ name: "tokenId",
795
+ type: "uint256",
796
+ internalType: "uint256",
797
+ },
798
+ ],
799
+ },
800
+ {
801
+ type: "error",
802
+ name: "Entitlement__InvalidValue",
803
+ inputs: [],
804
+ },
805
+ {
806
+ type: "error",
807
+ name: "Entitlement__NotAllowed",
808
+ inputs: [],
809
+ },
810
+ {
811
+ type: "error",
812
+ name: "Entitlement__NotMember",
813
+ inputs: [],
814
+ },
815
+ {
816
+ type: "error",
817
+ name: "Entitlement__ValueAlreadyExists",
818
+ inputs: [],
819
+ },
820
+ {
821
+ type: "error",
822
+ name: "EntitlementsService__EntitlementDoesNotExist",
823
+ inputs: [],
824
+ },
825
+ {
826
+ type: "error",
827
+ name: "EntitlementsService__InvalidEntitlementAddress",
828
+ inputs: [],
829
+ },
830
+ {
831
+ type: "error",
832
+ name: "EntitlementsService__InvalidEntitlementInterface",
833
+ inputs: [],
834
+ },
835
+ {
836
+ type: "error",
837
+ name: "MintERC2309QuantityExceedsLimit",
838
+ inputs: [],
839
+ },
840
+ {
841
+ type: "error",
842
+ name: "MintToZeroAddress",
843
+ inputs: [],
844
+ },
845
+ {
846
+ type: "error",
847
+ name: "MintZeroQuantity",
848
+ inputs: [],
849
+ },
850
+ {
851
+ type: "error",
852
+ name: "Ownable__NotOwner",
853
+ inputs: [
854
+ {
855
+ name: "account",
856
+ type: "address",
857
+ internalType: "address",
858
+ },
859
+ ],
860
+ },
861
+ {
862
+ type: "error",
863
+ name: "Ownable__ZeroAddress",
864
+ inputs: [],
865
+ },
866
+ {
867
+ type: "error",
868
+ name: "OwnerQueryForNonexistentToken",
869
+ inputs: [],
870
+ },
871
+ {
872
+ type: "error",
873
+ name: "OwnershipNotInitializedForExtraData",
874
+ inputs: [],
875
+ },
876
+ {
877
+ type: "error",
878
+ name: "Pausable__NotPaused",
879
+ inputs: [],
880
+ },
881
+ {
882
+ type: "error",
883
+ name: "Pausable__Paused",
884
+ inputs: [],
885
+ },
886
+ {
887
+ type: "error",
888
+ name: "Roles__EntitlementAlreadyExists",
889
+ inputs: [],
890
+ },
891
+ {
892
+ type: "error",
893
+ name: "Roles__EntitlementDoesNotExist",
894
+ inputs: [],
895
+ },
896
+ {
897
+ type: "error",
898
+ name: "Roles__InvalidEntitlementAddress",
899
+ inputs: [],
900
+ },
901
+ {
902
+ type: "error",
903
+ name: "Roles__InvalidPermission",
904
+ inputs: [],
905
+ },
906
+ {
907
+ type: "error",
908
+ name: "Roles__PermissionAlreadyExists",
909
+ inputs: [],
910
+ },
911
+ {
912
+ type: "error",
913
+ name: "Roles__PermissionDoesNotExist",
914
+ inputs: [],
915
+ },
916
+ {
917
+ type: "error",
918
+ name: "Roles__RoleDoesNotExist",
919
+ inputs: [],
920
+ },
921
+ {
922
+ type: "error",
923
+ name: "Roles__RoleIsImmutable",
924
+ inputs: [],
925
+ },
926
+ {
927
+ type: "error",
928
+ name: "TransferCallerNotOwnerNorApproved",
929
+ inputs: [],
930
+ },
931
+ {
932
+ type: "error",
933
+ name: "TransferFromIncorrectOwner",
934
+ inputs: [],
935
+ },
936
+ {
937
+ type: "error",
938
+ name: "TransferToNonERC721ReceiverImplementer",
939
+ inputs: [],
940
+ },
941
+ {
942
+ type: "error",
943
+ name: "TransferToZeroAddress",
944
+ inputs: [],
945
+ },
946
+ {
947
+ type: "error",
948
+ name: "URIQueryForNonexistentToken",
949
+ inputs: [],
950
+ },
951
+ ] as const;
952
+
953
+ const _bytecode =
954
+ "0x6080604052348015600e575f5ffd5b5061391b8061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100da575f3560e01c80639a8e4c3e11610088578063ba201ba811610063578063ba201ba8146101be578063bd9af74a146101d1578063d2dea2b9146101e4578063dba81864146101f7575f5ffd5b80639a8e4c3e14610185578063b426423314610198578063b7515761146101ab575f5ffd5b8063784c872b116100b8578063784c872b146101315780638fcd793d146101515780639269182114610172575f5ffd5b80634d8b50a2146100de57806365634a48146100f3578063710613981461011c575b5f5ffd5b6100f16100ec366004612cc3565b61020a565b005b610106610101366004612d6b565b610260565b6040516101139190612dd7565b60405180910390f35b610124610275565b6040516101139190612f73565b61014461013f366004612fe8565b610284565b6040516101139190612fff565b61016461015f366004613011565b6102c8565b604051908152602001610113565b6100f1610180366004612fe8565b610320565b6100f16101933660046130b0565b61036a565b6101066101a6366004612fe8565b6103ed565b6100f16101b93660046130b0565b610401565b6100f16101cc3660046130f8565b61047f565b6100f16101df366004613142565b6104cb565b6100f16101f2366004612d6b565b61051b565b6100f16102053660046130f8565b610563565b6102486040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105ab565b610257878787878787876105e2565b50505050505050565b606061026c8383610998565b90505b92915050565b606061027f6109ec565b905090565b6102b66040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b6102bf82610b27565b61026f82610b7e565b5f6103076040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105ab565b610315878787878787610bf3565b979650505050505050565b61035e6040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105ab565b61036781610dab565b50565b6103a86040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105ab565b6103b183610b27565b5f8381527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604090206103e8908383610ed6565b505050565b60606103f88261102a565b50949350505050565b61043f6040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105ab565b61044883610b27565b5f8381527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604090206103e8908383611116565b6104bd6040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105ab565b6104c782826111e7565b5050565b6105096040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105ab565b6105158484848461126a565b50505050565b6105596040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105ab565b6104c782826113c6565b6105a16040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105ab565b6104c78282611488565b6105b55f826114fe565b610367576103677f338e692c0000000000000000000000000000000000000000000000000000000061156e565b6105eb87610b27565b5f8781527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360205260409020600181015460ff161561064d5761064d7f497dbeb10000000000000000000000000000000000000000000000000000000061156e565b5f61065782611576565b8051909150835f8167ffffffffffffffff81111561067757610677613191565b6040519080825280602002602001820160405280156106a0578160200160208202803683370190505b5090505f5b82811015610735575f8888838181106106c0576106c06131be565b90506020028101906106d291906131eb565b6106e0906020810190613248565b90506106eb8161158c565b6106f48161170a565b80838381518110610707576107076131be565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152506001016106a5565b50891561074a57846107488b8d836132f2565b505b87156107675761075c8560020161178b565b610767858a8a611116565b815f03610778575050505050610257565b5f5b838110156107b6576107ae858281518110610797576107976131be565b60200260200101518761187390919063ffffffff16565b60010161077a565b505f5b828110156107f5576107ed8282815181106107d6576107d66131be565b6020026020010151876118ba90919063ffffffff16565b6001016107b9565b505f5b838110156108ea575f858281518110610813576108136131be565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16631eee07b28f6040518263ffffffff1660e01b815260040161085591815260200190565b5f60405180830381865afa15801561086f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108b49190810190613457565b8051909150156108e1576108e18683815181106108d3576108d36131be565b60200260200101518f611902565b506001016107f8565b505f5b8281101561095d5736888883818110610908576109086131be565b905060200281019061091a91906131eb565b905061093161092c6020830183613509565b61198a565b6109546109416020830183613248565b8f61094f6020850185613509565b6119bb565b506001016108ed565b506040518c9033907f1aff41ff8e9139aae6bb355cc69107cda7e1d1dcd25511da436f3171bdbf77e6905f90a3505050505050505050505050565b60606109a383610b27565b6109ac82611a4d565b5f8381527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0560209081526040808320858452909152902061026c90611aa4565b60605f6109f7611b7b565b80519091508067ffffffffffffffff811115610a1557610a15613191565b604051908082528060200260200182016040528015610a7857816020015b610a656040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b815260200190600190039081610a335790505b5092505f5b81811015610b21575f5f5f5f610aab878681518110610a9e57610a9e6131be565b602002602001015161102a565b93509350935093506040518060a00160405280888781518110610ad057610ad06131be565b60200260200101518152602001858152602001841515815260200183815260200182815250888681518110610b0757610b076131be565b602002602001018190525050505050806001019050610a7d565b50505090565b610b517f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0182611ba6565b610367576103677fa3f70f7b0000000000000000000000000000000000000000000000000000000061156e565b610bb06040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b5f5f5f5f610bbd8661102a565b6040805160a0810182529a8b5260208b019490945291151592890192909252606088019190915260808701525093949350505050565b5f610c0087876002611bbd565b815f8167ffffffffffffffff811115610c1b57610c1b613191565b604051908082528060200260200182016040528015610c44578160200160208202803683370190505b507f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0080549192509081905f90610c7990613597565b918290555093505f5b83811015610d405736878783818110610c9d57610c9d6131be565b9050602002810190610caf91906131eb565b9050610cc6610cc16020830183613248565b61158c565b610cd36020820182613248565b848381518110610ce557610ce56131be565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101820152610d199061092c90830183613509565b610d37610d296020830183613248565b8761094f6020850185613509565b50600101610c82565b50610d4e6001820185611bee565b505f848152600382016020526040812090610d719082908d908d908d8d89611bf9565b604051859033907f20a7a288530dd94b1eccaa691a582ecfd7550c9dfcee78ddf50a97f774a2b147905f90a3505050509695505050505050565b610db481610b27565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604081207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0091610e0b82611576565b9050610e1682611cf7565b610e236001840185611d54565b505f610e2e85611d5f565b80519091505f5b81811015610e6857610e60838281518110610e5257610e526131be565b602002602001015188611e44565b600101610e35565b5082515f5b81811015610ea057610e98858281518110610e8a57610e8a6131be565b602002602001015189611902565b600101610e6d565b50604051879033907f268a6f1b90f6f5ddf50cc736d36513e80cdc5fd56326bff71f335e8b4b61d055905f90a350505050505050565b805f5b8181101561102357610f0d848483818110610ef657610ef66131be565b9050602002810190610f089190613509565b611ee5565b610f88848483818110610f2257610f226131be565b9050602002810190610f349190613509565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050825160208185018101805160038d01825292820191909501209352505054151590565b610fb557610fb57f3e2b02610000000000000000000000000000000000000000000000000000000061156e565b61101a848483818110610fca57610fca6131be565b9050602002810190610fdc9190613509565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250506002890192915050611f16565b50600101610ed9565b5050505050565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604081208054606092918391829190819061106c90613263565b80601f016020809104026020016040519081016040528092919081815260200182805461109890613263565b80156110e35780601f106110ba576101008083540402835291602001916110e3565b820191905f5260205f20905b8154815290600101906020018083116110c657829003601f168201915b5050505060018301549196505060ff16935061110160028201611aa4565b925061110c81611576565b9150509193509193565b805f5b8181101561102357611136848483818110610ef657610ef66131be565b61114b848483818110610f2257610f226131be565b15611179576111797fb0ab68210000000000000000000000000000000000000000000000000000000061156e565b6111de84848381811061118e5761118e6131be565b90506020028101906111a09190613509565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250506002890192915050612066565b50600101611119565b6111f082610b27565b6112056112006020830183613248565b61170a565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602090815260409091209061124c9061124590840184613248565b82906118ba565b6103e861125c6020840184613248565b8461094f6020860186613509565b8080156113c05761127a85610b27565b61128384611a4d565b5f8581527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd056020908152604080832087845290915290207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd00906112e58161178b565b5f5b8381101561137057611304868683818110610ef657610ef66131be565b611367868683818110611319576113196131be565b905060200281019061132b9190613509565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525086939250506120669050565b506001016112e7565b505f878152600483016020526040902061138a9087611bee565b506040518690889033907f38ef31503bf60258feeceab5e2c3778cf74be2a8fbcc150d209ca96cd3c98553905f90a45050611023565b61102385855b6113cf82610b27565b6113d881611a4d565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd056020908152604080832084845290915290207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd009061143a8161178b565b5f84815260048301602052604090206114539084611d54565b506040518390859033907f07439707c74b686d8e4d3f3226348eac82205e6dffd780ac4c555a4c2dc9d86c905f90a450505050565b61149182610b27565b6114a16112006020830183613248565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360209081526040909120906114e8906114e190840184613248565b8290611873565b6103e86114f86020840184613248565b84611902565b5f33806115096120bc565b73ffffffffffffffffffffffffffffffffffffffff16148061156657507fe17a067c7963a59b6dfd65d33b053fdbea1c56500e2aae4f976d9eda4da9eb005460ff1615801561156657506115668482611561866135ce565b61217c565b949350505050565b805f5260045ffd5b60605f6115858360040161244c565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff81166115d9576040517fe0dc2ae000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527ff785968a00000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8216906301ffc9a790602401602060405180830381865afa92505050801561169d575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261169a91810190613610565b60015b6116d3576040517ff58a5f2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806104c7576040517ff58a5f2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931006117557fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c9310183612458565b6104c7576040517fbd599b8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805481905f5b8181101561186b575f84815260208120820190505f61185786835f0180546117b890613263565b80601f01602080910402602001604051908101604052809291908181526020018280546117e490613263565b801561182f5780601f106118065761010080835404028352916020019161182f565b820191905f5260205f20905b81548152906001019060200180831161181257829003601f168201915b5050505050805180820160209081018051600195909501815291810192019190912091905290565b55611862815f612bf3565b50600101611791565b50505f905550565b6118806004830182612458565b6118ad576118ad7f480a52fa0000000000000000000000000000000000000000000000000000000061156e565b6103e86004830182612486565b6118c76004830182612458565b156118f5576118f57ffb5584f10000000000000000000000000000000000000000000000000000000061156e565b6103e860048301826124a7565b61190b8261170a565b6040517ff0c111f90000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff83169063f0c111f9906024015f604051808303815f87803b158015611970575f5ffd5b505af1158015611982573d5f5f3e3d5ffd5b505050505050565b5f8190036104c7576104c77f947d5a840000000000000000000000000000000000000000000000000000000061156e565b6119c48461170a565b6040517fef8be57400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063ef8be57490611a1a9086908690869060040161362f565b5f604051808303815f87803b158015611a31575f5ffd5b505af1158015611a43573d5f5f3e3d5ffd5b5050505050505050565b611a777f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430082611ba6565b610367576103677fac1696820000000000000000000000000000000000000000000000000000000061156e565b6060815f01805480602002602001604051908101604052809291908181526020015f905b82821015611b70578382905f5260205f20018054611ae590613263565b80601f0160208091040260200160405190810160405280929190818152602001828054611b1190613263565b8015611b5c5780601f10611b3357610100808354040283529160200191611b5c565b820191905f5260205f20905b815481529060010190602001808311611b3f57829003601f168201915b505050505081526020019060010190611ac8565b505050509050919050565b606061027f7f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0161244c565b5f818152600183016020526040812054151561026c565b808210156103e8576103e87f947d5a840000000000000000000000000000000000000000000000000000000061156e565b5f61026c83836124c4565b86611c058688836132f2565b506001870180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016851515179055611c3f878484611116565b5f5b8151811015611a43575f73ffffffffffffffffffffffffffffffffffffffff16828281518110611c7357611c736131be565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603611cbf57611cbf7f7442429b0000000000000000000000000000000000000000000000000000000061156e565b611cee828281518110611cd457611cd46131be565b6020026020010151896004016124a790919063ffffffff16565b50600101611c41565b60408051602081019091525f81528190611d119082613682565b506001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055611d486002820161178b565b61036781600401612510565b5f61026c8383612519565b60607f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af5185043005f611d8c826125fc565b90505f8167ffffffffffffffff811115611da857611da8613191565b604051908082528060200260200182016040528015611dd1578160200160208202803683370190505b5093505f5b82811015611e39575f611de98583612605565b5f8181526003870160205260409020909150611e059088611ba6565b15611e305780868480600101955081518110611e2357611e236131be565b6020026020010181815250505b50600101611dd6565b508352509092915050565b611e4d82611a4d565b611e5682612610565b5f8281527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504303602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430090611eae8184611ba6565b611edb57611edb7f6796073e0000000000000000000000000000000000000000000000000000000061156e565b6110238184611d54565b5f8190036104c7576104c77f0ce76c100000000000000000000000000000000000000000000000000000000061156e565b80516020818301810180516001860182529282019184019190912091905280548015801592919061205e5784545f868152602090208691907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8083019183010184831461204b575f815f018054611f8c90613263565b80601f0160208091040260200160405190810160405280929190818152602001828054611fb890613263565b80156120035780601f10611fda57610100808354040283529160200191612003565b820191905f5260205f20905b815481529060010190602001808311611fe657829003601f168201915b50505050509050806120208b600189035f91825260209091200190565b9061202b9082613682565b50805160208183018101805160018e018252928201919093012091528590555b612055815f612bf3565b50909155505f82555b505092915050565b8051602081830181018051600186018252928201918401919091209190528054159081156120b5578354600181018086555f868152602090208692919082016120af8782613682565b50835550505b5092915050565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015612152573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121769190613799565b91505090565b5f5f6121866120bc565b90505f61219285612671565b80519091505f6121a06129b5565b80519091505f5b8381101561228f575f8582815181106121c2576121c26131be565b602002602001015190508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361220f576001975050505050505050611585565b5f5b83811015612285578173ffffffffffffffffffffffffffffffffffffffff16612252868381518110612245576122456131be565b60200260200101516129e0565b73ffffffffffffffffffffffffffffffffffffffff160361227d575f98505050505050505050611585565b600101612211565b50506001016121a7565b507fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931005f6122db7fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931016125fc565b90505f5b8181101561243b575f83816122f76001830185612605565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182015f205482517f2e1b61e40000000000000000000000000000000000000000000000000000000081529251911693508392632e1b61e492600480820193918290030181865afa158015612373573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123979190613610565b15801561241b57508073ffffffffffffffffffffffffffffffffffffffff16630cf0b5338e8a8e6040518463ffffffff1660e01b81526004016123dc939291906137b4565b602060405180830381865afa1580156123f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061241b9190613610565b156124325760019950505050505050505050611585565b506001016122df565b505f9b9a5050505050505050505050565b60605f611585836129ea565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600183016020526040812054151561026c565b5f61026c8373ffffffffffffffffffffffffffffffffffffffff8416612519565b5f61026c8373ffffffffffffffffffffffffffffffffffffffff84165b5f81815260018301602052604081205461250957508154600181810184555f84815260208082209093018490558454848252828601909352604090209190915561026f565b505f61026f565b61036781612a43565b5f81815260018301602052604081205480156125f3575f61253b60018361381f565b85549091505f9061254e9060019061381f565b90508082146125ad575f865f01828154811061256c5761256c6131be565b905f5260205f200154905080875f01848154811061258c5761258c6131be565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806125be576125be613832565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f90556001935050505061026f565b5f91505061026f565b5f61026f825490565b5f61026c8383612a9c565b5f8181527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504302602052604090206001015460ff1615610367576103677fd9c005120000000000000000000000000000000000000000000000000000000061156e565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa158015612708573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261274d919081019061385f565b905080515f036128be576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa1580156127c4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127e89190613799565b905073ffffffffffffffffffffffffffffffffffffffff8116156128bc576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa158015612874573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526128b9919081019061385f565b91505b505b80515f6128cc826001613908565b67ffffffffffffffff8111156128e4576128e4613191565b60405190808252806020026020018201604052801561290d578160200160208202803683370190505b5090505f5b828110156129735783818151811061292c5761292c6131be565b6020026020010151828281518110612946576129466131be565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101612912565b5085818381518110612987576129876131be565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015295945050505050565b606061027f7f49daf035076c43671ca9f9fb568d931e51ab7f9098a5a694781b45341112cf0061244c565b5f61026f82612ac2565b6060815f01805480602002602001604051908101604052809291908181526020018280548015612a3757602002820191905f5260205f20905b815481526020019060010190808311612a23575b50505050509050919050565b5f612a4c825490565b90505f5b81811015612a9557826001015f845f018381548110612a7157612a716131be565b905f5260205f20015481526020019081526020015f205f9055806001019050612a50565b50505f9055565b5f825f018281548110612ab157612ab16131be565b905f5260205f200154905092915050565b5f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c010000000000000000000000000000000000000000000000000000000083169003612bc057815f03612bba5780548310612b79576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f81815260048401602052604090205490929091508115612b7a575b50919050565b506040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b508054612bff90613263565b5f825580601f10612c0e575050565b601f0160209004905f5260205f209081019061036791905b80821115612c39575f8155600101612c26565b5090565b5f5f83601f840112612c4d575f5ffd5b50813567ffffffffffffffff811115612c64575f5ffd5b602083019150836020828501011115612c7b575f5ffd5b9250929050565b5f5f83601f840112612c92575f5ffd5b50813567ffffffffffffffff811115612ca9575f5ffd5b6020830191508360208260051b8501011115612c7b575f5ffd5b5f5f5f5f5f5f5f6080888a031215612cd9575f5ffd5b87359650602088013567ffffffffffffffff811115612cf6575f5ffd5b612d028a828b01612c3d565b909750955050604088013567ffffffffffffffff811115612d21575f5ffd5b612d2d8a828b01612c82565b909550935050606088013567ffffffffffffffff811115612d4c575f5ffd5b612d588a828b01612c82565b989b979a50959850939692959293505050565b5f5f60408385031215612d7c575f5ffd5b50508035926020909101359150565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612e4c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452612e37858351612d8b565b94506020938401939190910190600101612dfd565b50929695505050505050565b5f8151808452602084019350602083015f5b82811015612e9e57815173ffffffffffffffffffffffffffffffffffffffff16865260209586019590910190600101612e6a565b5093949350505050565b805182525f602082015160a06020850152612ec660a0850182612d8b565b90506040830151151560408501526060830151848203606086015281815180845260208401915060208160051b8501016020840193505f5b82811015612f4d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868303018452612f38828651612d8b565b60209586019594909401939150600101612efe565b50608087015194508781036080890152612f678186612e58565b98975050505050505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612e4c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452612fd3858351612ea8565b94506020938401939190910190600101612f99565b5f60208284031215612ff8575f5ffd5b5035919050565b602081525f61026c6020830184612ea8565b5f5f5f5f5f5f60608789031215613026575f5ffd5b863567ffffffffffffffff81111561303c575f5ffd5b61304889828a01612c3d565b909750955050602087013567ffffffffffffffff811115613067575f5ffd5b61307389828a01612c82565b909550935050604087013567ffffffffffffffff811115613092575f5ffd5b61309e89828a01612c82565b979a9699509497509295939492505050565b5f5f5f604084860312156130c2575f5ffd5b83359250602084013567ffffffffffffffff8111156130df575f5ffd5b6130eb86828701612c82565b9497909650939450505050565b5f5f60408385031215613109575f5ffd5b82359150602083013567ffffffffffffffff811115613126575f5ffd5b830160408186031215613137575f5ffd5b809150509250929050565b5f5f5f5f60608587031215613155575f5ffd5b8435935060208501359250604085013567ffffffffffffffff811115613179575f5ffd5b61318587828801612c82565b95989497509550505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261321d575f5ffd5b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610367575f5ffd5b5f60208284031215613258575f5ffd5b813561158581613227565b600181811c9082168061327757607f821691505b602082108103612bba577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b601f8211156103e857805f5260205f20601f840160051c810160208510156132d35750805b601f840160051c820191505b81811015611023575f81556001016132df565b67ffffffffffffffff83111561330a5761330a613191565b61331e836133188354613263565b836132ae565b5f601f84116001811461336e575f85156133385750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611023565b5f838152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08716915b828110156133bb578685013582556020948501946001909201910161339b565b50868210156133f6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561344f5761344f613191565b604052919050565b5f60208284031215613467575f5ffd5b815167ffffffffffffffff81111561347d575f5ffd5b8201601f8101841361348d575f5ffd5b805167ffffffffffffffff8111156134a7576134a7613191565b6134d860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613408565b8181528560208385010111156134ec575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261353c575f5ffd5b83018035915067ffffffffffffffff821115613556575f5ffd5b602001915036819003821315612c7b575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036135c7576135c761356a565b5060010190565b80516020808301519190811015612bba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f60208284031215613620575f5ffd5b81518015158114611585575f5ffd5b83815260406020820152816040820152818360608301375f818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b815167ffffffffffffffff81111561369c5761369c613191565b6136b0816136aa8454613263565b846132ae565b6020601f821160018114613701575f83156136cb5750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455611023565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b8281101561374e578785015182556020948501946001909201910161372e565b508482101561378a57868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156137a9575f5ffd5b815161158581613227565b5f60608201858352606060208401528085518083526080850191506020870192505f5b8181101561380b57835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016137d7565b505060409390930193909352509392505050565b8181038181111561026f5761026f61356a565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f6020828403121561386f575f5ffd5b815167ffffffffffffffff811115613885575f5ffd5b8201601f81018413613895575f5ffd5b805167ffffffffffffffff8111156138af576138af613191565b8060051b6138bf60208201613408565b918252602081840181019290810190878411156138da575f5ffd5b6020850194505b8385101561031557845192506138f683613227565b828252602094850194909101906138e1565b8082018082111561026f5761026f61356a56";
955
+
956
+ type RolesConstructorParams =
957
+ | [signer?: Signer]
958
+ | ConstructorParameters<typeof ContractFactory>;
959
+
960
+ const isSuperArgs = (
961
+ xs: RolesConstructorParams
962
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
963
+
964
+ export class Roles__factory extends ContractFactory {
965
+ constructor(...args: RolesConstructorParams) {
966
+ if (isSuperArgs(args)) {
967
+ super(...args);
968
+ } else {
969
+ super(_abi, _bytecode, args[0]);
970
+ }
971
+ }
972
+
973
+ override deploy(
974
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
975
+ ): Promise<Roles> {
976
+ return super.deploy(overrides || {}) as Promise<Roles>;
977
+ }
978
+ override getDeployTransaction(
979
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
980
+ ): TransactionRequest {
981
+ return super.getDeployTransaction(overrides || {});
982
+ }
983
+ override attach(address: string): Roles {
984
+ return super.attach(address) as Roles;
985
+ }
986
+ override connect(signer: Signer): Roles__factory {
987
+ return super.connect(signer) as Roles__factory;
988
+ }
989
+
990
+ static readonly bytecode = _bytecode;
991
+ static readonly abi = _abi;
992
+ static createInterface(): RolesInterface {
993
+ return new utils.Interface(_abi) as RolesInterface;
994
+ }
995
+ static connect(address: string, signerOrProvider: Signer | Provider): Roles {
996
+ return new Contract(address, _abi, signerOrProvider) as Roles;
997
+ }
998
+ }