@towns-protocol/generated 0.0.212 → 0.0.214

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 (47) hide show
  1. package/deployments/gamma/base/addresses/swapRouter.json +3 -0
  2. package/deployments/omega/base/addresses/swapRouter.json +3 -0
  3. package/dev/abis/Channels.abi.json +30 -0
  4. package/dev/abis/Channels.abi.ts +30 -0
  5. package/dev/abis/ISwapFacet.abi.json +320 -0
  6. package/dev/abis/ISwapFacet.abi.ts +320 -0
  7. package/dev/abis/ISwapFacetBase.abi.json +79 -0
  8. package/dev/abis/ISwapFacetBase.abi.ts +79 -0
  9. package/dev/abis/ISwapRouter.abi.json +189 -0
  10. package/dev/abis/ISwapRouter.abi.ts +189 -0
  11. package/dev/abis/ISwapRouterBase.abi.json +116 -0
  12. package/dev/abis/ISwapRouterBase.abi.ts +116 -0
  13. package/dev/abis/MembershipFacet.abi.json +5 -0
  14. package/dev/abis/MembershipFacet.abi.ts +5 -0
  15. package/dev/abis/Roles.abi.json +5 -0
  16. package/dev/abis/Roles.abi.ts +5 -0
  17. package/dev/typings/Architect.ts +513 -0
  18. package/dev/typings/Channels.ts +1003 -0
  19. package/dev/typings/DropFacet.ts +687 -0
  20. package/dev/typings/EntitlementsManager.ts +612 -0
  21. package/dev/typings/ISwapFacet.ts +415 -0
  22. package/dev/typings/ISwapRouter.ts +250 -0
  23. package/dev/typings/MockLegacyArchitect.ts +402 -0
  24. package/dev/typings/NodeRegistry.ts +470 -0
  25. package/dev/typings/OperatorRegistry.ts +345 -0
  26. package/dev/typings/Roles.ts +984 -0
  27. package/dev/typings/StreamRegistry.ts +737 -0
  28. package/dev/typings/WalletLink.ts +975 -0
  29. package/dev/typings/factories/Architect__factory.ts +406 -0
  30. package/dev/typings/factories/Channels__factory.ts +1037 -0
  31. package/dev/typings/factories/DropFacet__factory.ts +816 -0
  32. package/dev/typings/factories/EntitlementsManager__factory.ts +688 -0
  33. package/dev/typings/factories/IChannel__factory.ts +25 -0
  34. package/dev/typings/factories/IRoles__factory.ts +5 -0
  35. package/dev/typings/factories/ISwapFacet__factory.ts +341 -0
  36. package/dev/typings/factories/ISwapRouter__factory.ts +210 -0
  37. package/dev/typings/factories/MembershipFacet__factory.ts +6 -1
  38. package/dev/typings/factories/MockLegacyArchitect__factory.ts +433 -0
  39. package/dev/typings/factories/NodeRegistry__factory.ts +335 -0
  40. package/dev/typings/factories/OperatorRegistry__factory.ts +254 -0
  41. package/dev/typings/factories/Roles__factory.ts +998 -0
  42. package/dev/typings/factories/SpaceOwner__factory.ts +1 -11
  43. package/dev/typings/factories/StreamRegistry__factory.ts +604 -0
  44. package/dev/typings/factories/WalletLink__factory.ts +899 -0
  45. package/dev/typings/factories/index.ts +12 -0
  46. package/dev/typings/index.ts +24 -0
  47. 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
+ "0x6080604052348015600e575f5ffd5b506139428061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100da575f3560e01c80639a8e4c3e11610088578063ba201ba811610063578063ba201ba8146101be578063bd9af74a146101d1578063d2dea2b9146101e4578063dba81864146101f7575f5ffd5b80639a8e4c3e14610185578063b426423314610198578063b7515761146101ab575f5ffd5b8063784c872b116100b8578063784c872b146101315780638fcd793d146101515780639269182114610172575f5ffd5b80634d8b50a2146100de57806365634a48146100f3578063710613981461011c575b5f5ffd5b6100f16100ec366004612cea565b61020a565b005b610106610101366004612d92565b610260565b6040516101139190612dfe565b60405180910390f35b610124610275565b6040516101139190612f9a565b61014461013f36600461300f565b610284565b6040516101139190613026565b61016461015f366004613038565b6102c8565b604051908152602001610113565b6100f161018036600461300f565b610320565b6100f16101933660046130d7565b61036a565b6101066101a636600461300f565b6103ed565b6100f16101b93660046130d7565b610428565b6100f16101cc36600461311f565b6104a6565b6100f16101df366004613169565b6104f2565b6100f16101f2366004612d92565b610542565b6100f161020536600461311f565b61058a565b6102486040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b61025787878787878787610609565b50505050505050565b606061026c83836109bf565b90505b92915050565b606061027f610a13565b905090565b6102b66040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b6102bf82610b4e565b61026f82610ba5565b5f6103076040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b610315878787878787610c1a565b979650505050505050565b61035e6040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b61036781610dd2565b50565b6103a86040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b6103b183610b4e565b5f8381527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604090206103e8908383610efd565b505050565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd036020526040902060609061026f90600201611051565b6104666040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b61046f83610b4e565b5f8381527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604090206103e8908383611128565b6104e46040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b6104ee82826111f9565b5050565b6105306040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b61053c8484848461127c565b50505050565b6105806040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b6104ee82826113d8565b6105c86040518060400160405280601381526020017f4d6f64696679537061636553657474696e6773000000000000000000000000008152506105d2565b6104ee828261149a565b6105dc5f82611510565b610367576103677f338e692c00000000000000000000000000000000000000000000000000000000611580565b61061287610b4e565b5f8781527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360205260409020600181015460ff1615610674576106747f497dbeb100000000000000000000000000000000000000000000000000000000611580565b5f61067e82611588565b8051909150835f8167ffffffffffffffff81111561069e5761069e6131b8565b6040519080825280602002602001820160405280156106c7578160200160208202803683370190505b5090505f5b8281101561075c575f8888838181106106e7576106e76131e5565b90506020028101906106f99190613212565b61070790602081019061326f565b90506107128161159e565b61071b8161171c565b8083838151811061072e5761072e6131e5565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152506001016106cc565b508915610771578461076f8b8d83613319565b505b871561078e576107838560020161179d565b61078e858a8a611128565b815f0361079f575050505050610257565b5f5b838110156107dd576107d58582815181106107be576107be6131e5565b60200260200101518761188590919063ffffffff16565b6001016107a1565b505f5b8281101561081c576108148282815181106107fd576107fd6131e5565b6020026020010151876118cc90919063ffffffff16565b6001016107e0565b505f5b83811015610911575f85828151811061083a5761083a6131e5565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16631eee07b28f6040518263ffffffff1660e01b815260040161087c91815260200190565b5f60405180830381865afa158015610896573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108db919081019061347e565b805190915015610908576109088683815181106108fa576108fa6131e5565b60200260200101518f611914565b5060010161081f565b505f5b82811015610984573688888381811061092f5761092f6131e5565b90506020028101906109419190613212565b90506109586109536020830183613530565b61199c565b61097b610968602083018361326f565b8f6109766020850185613530565b6119cd565b50600101610914565b506040518c9033907f1aff41ff8e9139aae6bb355cc69107cda7e1d1dcd25511da436f3171bdbf77e6905f90a3505050505050505050505050565b60606109ca83610b4e565b6109d382611a5f565b5f8381527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0560209081526040808320858452909152902061026c90611051565b60605f610a1e611ab6565b80519091508067ffffffffffffffff811115610a3c57610a3c6131b8565b604051908082528060200260200182016040528015610a9f57816020015b610a8c6040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b815260200190600190039081610a5a5790505b5092505f5b81811015610b48575f5f5f5f610ad2878681518110610ac557610ac56131e5565b6020026020010151611ae1565b93509350935093506040518060a00160405280888781518110610af757610af76131e5565b60200260200101518152602001858152602001841515815260200183815260200182815250888681518110610b2e57610b2e6131e5565b602002602001018190525050505050806001019050610aa4565b50505090565b610b787f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0182611bcd565b610367576103677fa3f70f7b00000000000000000000000000000000000000000000000000000000611580565b610bd76040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b5f5f5f5f610be486611ae1565b6040805160a0810182529a8b5260208b019490945291151592890192909252606088019190915260808701525093949350505050565b5f610c2787876002611be4565b815f8167ffffffffffffffff811115610c4257610c426131b8565b604051908082528060200260200182016040528015610c6b578160200160208202803683370190505b507f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0080549192509081905f90610ca0906135be565b918290555093505f5b83811015610d675736878783818110610cc457610cc46131e5565b9050602002810190610cd69190613212565b9050610ced610ce8602083018361326f565b61159e565b610cfa602082018261326f565b848381518110610d0c57610d0c6131e5565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101820152610d409061095390830183613530565b610d5e610d50602083018361326f565b876109766020850185613530565b50600101610ca9565b50610d756001820185611c15565b505f848152600382016020526040812090610d989082908d908d908d8d89611c20565b604051859033907f20a7a288530dd94b1eccaa691a582ecfd7550c9dfcee78ddf50a97f774a2b147905f90a3505050509695505050505050565b610ddb81610b4e565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604081207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0091610e3282611588565b9050610e3d82611d1e565b610e4a6001840185611d7b565b505f610e5585611d86565b80519091505f5b81811015610e8f57610e87838281518110610e7957610e796131e5565b602002602001015188611e6b565b600101610e5c565b5082515f5b81811015610ec757610ebf858281518110610eb157610eb16131e5565b602002602001015189611914565b600101610e94565b50604051879033907f268a6f1b90f6f5ddf50cc736d36513e80cdc5fd56326bff71f335e8b4b61d055905f90a350505050505050565b805f5b8181101561104a57610f34848483818110610f1d57610f1d6131e5565b9050602002810190610f2f9190613530565b611f0c565b610faf848483818110610f4957610f496131e5565b9050602002810190610f5b9190613530565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050825160208185018101805160038d01825292820191909501209352505054151590565b610fdc57610fdc7f3e2b026100000000000000000000000000000000000000000000000000000000611580565b611041848483818110610ff157610ff16131e5565b90506020028101906110039190613530565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250506002890192915050611f3d565b50600101610f00565b5050505050565b6060815f01805480602002602001604051908101604052809291908181526020015f905b8282101561111d578382905f5260205f200180546110929061328a565b80601f01602080910402602001604051908101604052809291908181526020018280546110be9061328a565b80156111095780601f106110e057610100808354040283529160200191611109565b820191905f5260205f20905b8154815290600101906020018083116110ec57829003601f168201915b505050505081526020019060010190611075565b505050509050919050565b805f5b8181101561104a57611148848483818110610f1d57610f1d6131e5565b61115d848483818110610f4957610f496131e5565b1561118b5761118b7fb0ab682100000000000000000000000000000000000000000000000000000000611580565b6111f08484838181106111a0576111a06131e5565b90506020028101906111b29190613530565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050600289019291505061208d565b5060010161112b565b61120282610b4e565b611217611212602083018361326f565b61171c565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602090815260409091209061125e906112579084018461326f565b82906118cc565b6103e861126e602084018461326f565b846109766020860186613530565b8080156113d25761128c85610b4e565b61129584611a5f565b5f8581527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd056020908152604080832087845290915290207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd00906112f78161179d565b5f5b8381101561138257611316868683818110610f1d57610f1d6131e5565b61137986868381811061132b5761132b6131e5565b905060200281019061133d9190613530565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250869392505061208d9050565b506001016112f9565b505f878152600483016020526040902061139c9087611c15565b506040518690889033907f38ef31503bf60258feeceab5e2c3778cf74be2a8fbcc150d209ca96cd3c98553905f90a4505061104a565b61104a85855b6113e182610b4e565b6113ea81611a5f565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd056020908152604080832084845290915290207f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd009061144c8161179d565b5f84815260048301602052604090206114659084611d7b565b506040518390859033907f07439707c74b686d8e4d3f3226348eac82205e6dffd780ac4c555a4c2dc9d86c905f90a450505050565b6114a382610b4e565b6114b3611212602083018361326f565b5f8281527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360209081526040909120906114fa906114f39084018461326f565b8290611885565b6103e861150a602084018461326f565b84611914565b5f338061151b6120e3565b73ffffffffffffffffffffffffffffffffffffffff16148061157857507fe17a067c7963a59b6dfd65d33b053fdbea1c56500e2aae4f976d9eda4da9eb005460ff1615801561157857506115788482611573866135f5565b6121a3565b949350505050565b805f5260045ffd5b60605f61159783600401612473565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff81166115eb576040517fe0dc2ae000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527ff785968a00000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8216906301ffc9a790602401602060405180830381865afa9250505080156116af575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526116ac91810190613637565b60015b6116e5576040517ff58a5f2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806104ee576040517ff58a5f2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931006117677fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931018361247f565b6104ee576040517fbd599b8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805481905f5b8181101561187d575f84815260208120820190505f61186986835f0180546117ca9061328a565b80601f01602080910402602001604051908101604052809291908181526020018280546117f69061328a565b80156118415780601f1061181857610100808354040283529160200191611841565b820191905f5260205f20905b81548152906001019060200180831161182457829003601f168201915b5050505050805180820160209081018051600195909501815291810192019190912091905290565b55611874815f612c1a565b506001016117a3565b50505f905550565b611892600483018261247f565b6118bf576118bf7f480a52fa00000000000000000000000000000000000000000000000000000000611580565b6103e860048301826124ad565b6118d9600483018261247f565b15611907576119077ffb5584f100000000000000000000000000000000000000000000000000000000611580565b6103e860048301826124ce565b61191d8261171c565b6040517ff0c111f90000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff83169063f0c111f9906024015f604051808303815f87803b158015611982575f5ffd5b505af1158015611994573d5f5f3e3d5ffd5b505050505050565b5f8190036104ee576104ee7f947d5a8400000000000000000000000000000000000000000000000000000000611580565b6119d68461171c565b6040517fef8be57400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063ef8be57490611a2c90869086908690600401613656565b5f604051808303815f87803b158015611a43575f5ffd5b505af1158015611a55573d5f5f3e3d5ffd5b5050505050505050565b611a897f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430082611bcd565b610367576103677fac16968200000000000000000000000000000000000000000000000000000000611580565b606061027f7f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd01612473565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd036020526040812080546060929183918291908190611b239061328a565b80601f0160208091040260200160405190810160405280929190818152602001828054611b4f9061328a565b8015611b9a5780601f10611b7157610100808354040283529160200191611b9a565b820191905f5260205f20905b815481529060010190602001808311611b7d57829003601f168201915b5050505060018301549196505060ff169350611bb860028201611051565b9250611bc381611588565b9150509193509193565b5f818152600183016020526040812054151561026c565b808210156103e8576103e87f947d5a8400000000000000000000000000000000000000000000000000000000611580565b5f61026c83836124eb565b86611c2c868883613319565b506001870180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016851515179055611c66878484611128565b5f5b8151811015611a55575f73ffffffffffffffffffffffffffffffffffffffff16828281518110611c9a57611c9a6131e5565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603611ce657611ce67f7442429b00000000000000000000000000000000000000000000000000000000611580565b611d15828281518110611cfb57611cfb6131e5565b6020026020010151896004016124ce90919063ffffffff16565b50600101611c68565b60408051602081019091525f81528190611d3890826136a9565b506001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055611d6f6002820161179d565b61036781600401612537565b5f61026c8383612540565b60607f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af5185043005f611db382612623565b90505f8167ffffffffffffffff811115611dcf57611dcf6131b8565b604051908082528060200260200182016040528015611df8578160200160208202803683370190505b5093505f5b82811015611e60575f611e10858361262c565b5f8181526003870160205260409020909150611e2c9088611bcd565b15611e575780868480600101955081518110611e4a57611e4a6131e5565b6020026020010181815250505b50600101611dfd565b508352509092915050565b611e7482611a5f565b611e7d82612637565b5f8281527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504303602052604090207f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af51850430090611ed58184611bcd565b611f0257611f027f6796073e00000000000000000000000000000000000000000000000000000000611580565b61104a8184611d7b565b5f8190036104ee576104ee7f0ce76c1000000000000000000000000000000000000000000000000000000000611580565b8051602081830181018051600186018252928201918401919091209190528054801580159291906120855784545f868152602090208691907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80830191830101848314612072575f815f018054611fb39061328a565b80601f0160208091040260200160405190810160405280929190818152602001828054611fdf9061328a565b801561202a5780601f106120015761010080835404028352916020019161202a565b820191905f5260205f20905b81548152906001019060200180831161200d57829003601f168201915b50505050509050806120478b600189035f91825260209091200190565b9061205290826136a9565b50805160208183018101805160018e018252928201919093012091528590555b61207c815f612c1a565b50909155505f82555b505092915050565b8051602081830181018051600186018252928201918401919091209190528054159081156120dc578354600181018086555f868152602090208692919082016120d687826136a9565b50835550505b5092915050565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015612179573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061219d91906137c0565b91505090565b5f5f6121ad6120e3565b90505f6121b985612698565b80519091505f6121c76129dc565b80519091505f5b838110156122b6575f8582815181106121e9576121e96131e5565b602002602001015190508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612236576001975050505050505050611597565b5f5b838110156122ac578173ffffffffffffffffffffffffffffffffffffffff1661227986838151811061226c5761226c6131e5565b6020026020010151612a07565b73ffffffffffffffffffffffffffffffffffffffff16036122a4575f98505050505050505050611597565b600101612238565b50506001016121ce565b507fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c931005f6123027fa558e822bd359dacbe30f0da89cbfde5f95895b441e13a4864caec1423c93101612623565b90505f5b81811015612462575f838161231e600183018561262c565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182015f205482517f2e1b61e40000000000000000000000000000000000000000000000000000000081529251911693508392632e1b61e492600480820193918290030181865afa15801561239a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123be9190613637565b15801561244257508073ffffffffffffffffffffffffffffffffffffffff16630cf0b5338e8a8e6040518463ffffffff1660e01b8152600401612403939291906137db565b602060405180830381865afa15801561241e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124429190613637565b156124595760019950505050505050505050611597565b50600101612306565b505f9b9a5050505050505050505050565b60605f61159783612a11565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600183016020526040812054151561026c565b5f61026c8373ffffffffffffffffffffffffffffffffffffffff8416612540565b5f61026c8373ffffffffffffffffffffffffffffffffffffffff84165b5f81815260018301602052604081205461253057508154600181810184555f84815260208082209093018490558454848252828601909352604090209190915561026f565b505f61026f565b61036781612a6a565b5f818152600183016020526040812054801561261a575f612562600183613846565b85549091505f9061257590600190613846565b90508082146125d4575f865f018281548110612593576125936131e5565b905f5260205f200154905080875f0184815481106125b3576125b36131e5565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806125e5576125e5613859565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f90556001935050505061026f565b5f91505061026f565b5f61026f825490565b5f61026c8383612ac3565b5f8181527f804ad633258ac9b908ae115a2763b3f6e04be3b1165402c872b25af518504302602052604090206001015460ff1615610367576103677fd9c0051200000000000000000000000000000000000000000000000000000000611580565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa15801561272f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526127749190810190613886565b905080515f036128e5576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa1580156127eb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061280f91906137c0565b905073ffffffffffffffffffffffffffffffffffffffff8116156128e3576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa15801561289b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526128e09190810190613886565b91505b505b80515f6128f382600161392f565b67ffffffffffffffff81111561290b5761290b6131b8565b604051908082528060200260200182016040528015612934578160200160208202803683370190505b5090505f5b8281101561299a57838181518110612953576129536131e5565b602002602001015182828151811061296d5761296d6131e5565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101612939565b50858183815181106129ae576129ae6131e5565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015295945050505050565b606061027f7f49daf035076c43671ca9f9fb568d931e51ab7f9098a5a694781b45341112cf00612473565b5f61026f82612ae9565b6060815f01805480602002602001604051908101604052809291908181526020018280548015612a5e57602002820191905f5260205f20905b815481526020019060010190808311612a4a575b50505050509050919050565b5f612a73825490565b90505f5b81811015612abc57826001015f845f018381548110612a9857612a986131e5565b905f5260205f20015481526020019081526020015f205f9055806001019050612a77565b50505f9055565b5f825f018281548110612ad857612ad86131e5565b905f5260205f200154905092915050565b5f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c010000000000000000000000000000000000000000000000000000000083169003612be757815f03612be15780548310612ba0576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f81815260048401602052604090205490929091508115612ba1575b50919050565b506040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b508054612c269061328a565b5f825580601f10612c35575050565b601f0160209004905f5260205f209081019061036791905b80821115612c60575f8155600101612c4d565b5090565b5f5f83601f840112612c74575f5ffd5b50813567ffffffffffffffff811115612c8b575f5ffd5b602083019150836020828501011115612ca2575f5ffd5b9250929050565b5f5f83601f840112612cb9575f5ffd5b50813567ffffffffffffffff811115612cd0575f5ffd5b6020830191508360208260051b8501011115612ca2575f5ffd5b5f5f5f5f5f5f5f6080888a031215612d00575f5ffd5b87359650602088013567ffffffffffffffff811115612d1d575f5ffd5b612d298a828b01612c64565b909750955050604088013567ffffffffffffffff811115612d48575f5ffd5b612d548a828b01612ca9565b909550935050606088013567ffffffffffffffff811115612d73575f5ffd5b612d7f8a828b01612ca9565b989b979a50959850939692959293505050565b5f5f60408385031215612da3575f5ffd5b50508035926020909101359150565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612e73577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452612e5e858351612db2565b94506020938401939190910190600101612e24565b50929695505050505050565b5f8151808452602084019350602083015f5b82811015612ec557815173ffffffffffffffffffffffffffffffffffffffff16865260209586019590910190600101612e91565b5093949350505050565b805182525f602082015160a06020850152612eed60a0850182612db2565b90506040830151151560408501526060830151848203606086015281815180845260208401915060208160051b8501016020840193505f5b82811015612f74577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868303018452612f5f828651612db2565b60209586019594909401939150600101612f25565b50608087015194508781036080890152612f8e8186612e7f565b98975050505050505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612e73577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452612ffa858351612ecf565b94506020938401939190910190600101612fc0565b5f6020828403121561301f575f5ffd5b5035919050565b602081525f61026c6020830184612ecf565b5f5f5f5f5f5f6060878903121561304d575f5ffd5b863567ffffffffffffffff811115613063575f5ffd5b61306f89828a01612c64565b909750955050602087013567ffffffffffffffff81111561308e575f5ffd5b61309a89828a01612ca9565b909550935050604087013567ffffffffffffffff8111156130b9575f5ffd5b6130c589828a01612ca9565b979a9699509497509295939492505050565b5f5f5f604084860312156130e9575f5ffd5b83359250602084013567ffffffffffffffff811115613106575f5ffd5b61311286828701612ca9565b9497909650939450505050565b5f5f60408385031215613130575f5ffd5b82359150602083013567ffffffffffffffff81111561314d575f5ffd5b83016040818603121561315e575f5ffd5b809150509250929050565b5f5f5f5f6060858703121561317c575f5ffd5b8435935060208501359250604085013567ffffffffffffffff8111156131a0575f5ffd5b6131ac87828801612ca9565b95989497509550505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112613244575f5ffd5b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610367575f5ffd5b5f6020828403121561327f575f5ffd5b81356115978161324e565b600181811c9082168061329e57607f821691505b602082108103612be1577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b601f8211156103e857805f5260205f20601f840160051c810160208510156132fa5750805b601f840160051c820191505b8181101561104a575f8155600101613306565b67ffffffffffffffff831115613331576133316131b8565b6133458361333f835461328a565b836132d5565b5f601f841160018114613395575f851561335f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561104a565b5f838152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08716915b828110156133e257868501358255602094850194600190920191016133c2565b508682101561341d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613476576134766131b8565b604052919050565b5f6020828403121561348e575f5ffd5b815167ffffffffffffffff8111156134a4575f5ffd5b8201601f810184136134b4575f5ffd5b805167ffffffffffffffff8111156134ce576134ce6131b8565b6134ff60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161342f565b818152856020838501011115613513575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613563575f5ffd5b83018035915067ffffffffffffffff82111561357d575f5ffd5b602001915036819003821315612ca2575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036135ee576135ee613591565b5060010190565b80516020808301519190811015612be1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f60208284031215613647575f5ffd5b81518015158114611597575f5ffd5b83815260406020820152816040820152818360608301375f818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b815167ffffffffffffffff8111156136c3576136c36131b8565b6136d7816136d1845461328a565b846132d5565b6020601f821160018114613728575f83156136f25750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b17845561104a565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b828110156137755787850151825560209485019460019092019101613755565b50848210156137b157868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156137d0575f5ffd5b81516115978161324e565b5f60608201858352606060208401528085518083526080850191506020870192505f5b8181101561383257835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016137fe565b505060409390930193909352509392505050565b8181038181111561026f5761026f613591565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f60208284031215613896575f5ffd5b815167ffffffffffffffff8111156138ac575f5ffd5b8201601f810184136138bc575f5ffd5b805167ffffffffffffffff8111156138d6576138d66131b8565b8060051b6138e66020820161342f565b91825260208184018101929081019087841115613901575f5ffd5b6020850194505b83851015610315578451925061391d8361324e565b82825260209485019490910190613908565b8082018082111561026f5761026f61359156";
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
+ }