@zoralabs/comments-contracts 0.0.1 → 0.0.2-COMMENTS.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/.turbo/turbo-build.log +48 -30
  2. package/CHANGELOG.md +8 -0
  3. package/README.md +10 -39
  4. package/abis/AddDelegateCommenterRole.json +22 -0
  5. package/abis/CallerAndCommenter.json +62 -0
  6. package/abis/CallerAndCommenterImpl.json +1218 -0
  7. package/abis/CallerAndCommenterMintAndCommentTest.json +771 -0
  8. package/abis/CallerAndCommenterSwapAndCommentTest.json +844 -0
  9. package/abis/CallerAndCommenterTestBase.json +577 -0
  10. package/abis/CommentsImpl.json +189 -59
  11. package/abis/CommentsImplConstants.json +106 -0
  12. package/abis/CommentsPermitTest.json +26 -6
  13. package/abis/CommentsTest.json +58 -10
  14. package/abis/Comments_mintAndCommentTest.json +11 -4
  15. package/abis/Comments_smartWallet.json +711 -0
  16. package/abis/DeployCallerAndCommenterImpl.json +22 -0
  17. package/abis/EIP712Upgradeable.json +74 -0
  18. package/abis/EIP712UpgradeableWithChainId.json +49 -0
  19. package/abis/ERC20.json +310 -0
  20. package/abis/ICallerAndCommenter.json +797 -0
  21. package/abis/IComments.json +629 -9
  22. package/abis/IERC20.json +39 -42
  23. package/abis/IERC20Metadata.json +224 -0
  24. package/abis/IMultiOwnable.json +21 -0
  25. package/abis/IProtocolRewards.json +19 -0
  26. package/abis/ISecondarySwap.json +45 -0
  27. package/abis/IZoraCreator1155.json +51 -0
  28. package/abis/IZoraTimedSaleStrategy.json +91 -0
  29. package/abis/Mock1155.json +75 -1
  30. package/abis/Mock1155NoCreatorRewardRecipient.json +605 -0
  31. package/abis/Mock1155NoOwner.json +566 -0
  32. package/abis/{MockMinter.json → MockDelegateCommenter.json} +12 -2
  33. package/abis/MockERC20z.json +315 -0
  34. package/abis/MockMultiOwnable.json +212 -0
  35. package/abis/MockSecondarySwap.json +95 -0
  36. package/abis/MockZoraTimedSale.json +139 -0
  37. package/abis/Ownable2StepUpgradeable.json +138 -0
  38. package/abis/UnorderedNoncesUpgradeable.json +4 -4
  39. package/addresses/10.json +9 -0
  40. package/addresses/11155111.json +9 -0
  41. package/addresses/11155420.json +9 -0
  42. package/addresses/42161.json +9 -0
  43. package/addresses/7777777.json +9 -0
  44. package/addresses/8453.json +9 -0
  45. package/addresses/84532.json +9 -0
  46. package/addresses/999999999.json +7 -2
  47. package/deterministicConfig/callerAndCommenter.json +8 -0
  48. package/deterministicConfig/comments.json +2 -2
  49. package/dist/index.cjs +724 -35
  50. package/dist/index.cjs.map +1 -1
  51. package/dist/index.js +723 -35
  52. package/dist/index.js.map +1 -1
  53. package/dist/types.d.ts +1 -1
  54. package/dist/types.d.ts.map +1 -1
  55. package/dist/wagmiGenerated.d.ts +1102 -57
  56. package/dist/wagmiGenerated.d.ts.map +1 -1
  57. package/package/types.ts +4 -1
  58. package/package/wagmiGenerated.ts +728 -32
  59. package/package.json +11 -10
  60. package/script/AddDelegateCommenterRole.s.sol +24 -0
  61. package/script/CommentsDeployerBase.sol +101 -19
  62. package/script/Deploy.s.sol +2 -44
  63. package/script/DeployCallerAndCommenterImpl.s.sol +27 -0
  64. package/script/DeployImpl.s.sol +1 -0
  65. package/script/DeployNonDeterministic.s.sol +22 -13
  66. package/script/GenerateDeterministicParams.s.sol +32 -4
  67. package/scripts/generateCommentsTestData.ts +170 -79
  68. package/src/CommentsImpl.sol +267 -134
  69. package/src/CommentsImplConstants.sol +44 -0
  70. package/src/interfaces/ICallerAndCommenter.sol +215 -0
  71. package/src/interfaces/IComments.sol +189 -42
  72. package/src/interfaces/IMultiOwnable.sol +10 -0
  73. package/src/interfaces/ISecondarySwap.sol +40 -0
  74. package/src/interfaces/IZoraCreator1155.sol +6 -1
  75. package/src/interfaces/IZoraCreator1155TypesV1.sol +46 -0
  76. package/src/interfaces/IZoraTimedSaleStrategy.sol +25 -0
  77. package/src/proxy/CallerAndCommenter.sol +43 -0
  78. package/src/utils/CallerAndCommenterImpl.sol +376 -0
  79. package/src/utils/EIP712UpgradeableWithChainId.sol +12 -23
  80. package/src/version/ContractVersionBase.sol +1 -1
  81. package/test/CallerAndCommenterTestBase.sol +77 -0
  82. package/test/CallerAndCommenter_mintAndComment.t copy.sol +214 -0
  83. package/test/CallerAndCommenter_swapAndComment.t.sol +523 -0
  84. package/test/Comments.t.sol +166 -29
  85. package/test/CommentsTestBase.sol +12 -20
  86. package/test/Comments_delegateComment.t.sol +129 -0
  87. package/test/Comments_permit.t.sol +131 -44
  88. package/test/Comments_smartWallet.t.sol +152 -0
  89. package/test/mocks/Mock1155.sol +12 -1
  90. package/test/mocks/Mock1155NoCreatorRewardRecipient.sol +65 -0
  91. package/test/mocks/Mock1155NoOwner.sol +53 -0
  92. package/test/mocks/MockDelegateCommenter.sol +36 -0
  93. package/test/mocks/MockIZoraCreator1155.sol +16 -0
  94. package/test/mocks/MockSecondarySwap.sol +30 -0
  95. package/test/mocks/MockZoraTimedSale.sol +38 -0
  96. package/wagmi.config.ts +3 -1
  97. package/scripts/backfillComments.ts +0 -176
  98. package/scripts/queries.ts +0 -73
  99. package/scripts/queryAndSaveComments.ts +0 -48
  100. package/scripts/queryQuantityOfComments.ts +0 -53
  101. package/scripts/writeComments.ts +0 -198
  102. package/src/deployments/CommentsDeployment.sol +0 -14
  103. package/test/Comments_mintAndComment.t.sol +0 -101
  104. package/test/mocks/MockMinter.sol +0 -29
@@ -1,4 +1,54 @@
1
1
  [
2
+ {
3
+ "type": "function",
4
+ "name": "backfillBatchAddComment",
5
+ "inputs": [
6
+ {
7
+ "name": "commentIdentifiers",
8
+ "type": "tuple[]",
9
+ "internalType": "struct IComments.CommentIdentifier[]",
10
+ "components": [
11
+ {
12
+ "name": "commenter",
13
+ "type": "address",
14
+ "internalType": "address"
15
+ },
16
+ {
17
+ "name": "contractAddress",
18
+ "type": "address",
19
+ "internalType": "address"
20
+ },
21
+ {
22
+ "name": "tokenId",
23
+ "type": "uint256",
24
+ "internalType": "uint256"
25
+ },
26
+ {
27
+ "name": "nonce",
28
+ "type": "bytes32",
29
+ "internalType": "bytes32"
30
+ }
31
+ ]
32
+ },
33
+ {
34
+ "name": "texts",
35
+ "type": "string[]",
36
+ "internalType": "string[]"
37
+ },
38
+ {
39
+ "name": "timestamps",
40
+ "type": "uint256[]",
41
+ "internalType": "uint256[]"
42
+ },
43
+ {
44
+ "name": "originalTransactionHashes",
45
+ "type": "bytes32[]",
46
+ "internalType": "bytes32[]"
47
+ }
48
+ ],
49
+ "outputs": [],
50
+ "stateMutability": "nonpayable"
51
+ },
2
52
  {
3
53
  "type": "function",
4
54
  "name": "comment",
@@ -50,6 +100,11 @@
50
100
  }
51
101
  ]
52
102
  },
103
+ {
104
+ "name": "commenterSmartWalletOwner",
105
+ "type": "address",
106
+ "internalType": "address"
107
+ },
53
108
  {
54
109
  "name": "referrer",
55
110
  "type": "address",
@@ -87,6 +142,47 @@
87
142
  ],
88
143
  "stateMutability": "payable"
89
144
  },
145
+ {
146
+ "type": "function",
147
+ "name": "commentSparksQuantity",
148
+ "inputs": [
149
+ {
150
+ "name": "commentIdentifier",
151
+ "type": "tuple",
152
+ "internalType": "struct IComments.CommentIdentifier",
153
+ "components": [
154
+ {
155
+ "name": "commenter",
156
+ "type": "address",
157
+ "internalType": "address"
158
+ },
159
+ {
160
+ "name": "contractAddress",
161
+ "type": "address",
162
+ "internalType": "address"
163
+ },
164
+ {
165
+ "name": "tokenId",
166
+ "type": "uint256",
167
+ "internalType": "uint256"
168
+ },
169
+ {
170
+ "name": "nonce",
171
+ "type": "bytes32",
172
+ "internalType": "bytes32"
173
+ }
174
+ ]
175
+ }
176
+ ],
177
+ "outputs": [
178
+ {
179
+ "name": "",
180
+ "type": "uint256",
181
+ "internalType": "uint256"
182
+ }
183
+ ],
184
+ "stateMutability": "view"
185
+ },
90
186
  {
91
187
  "type": "function",
92
188
  "name": "delegateComment",
@@ -137,6 +233,16 @@
137
233
  "internalType": "bytes32"
138
234
  }
139
235
  ]
236
+ },
237
+ {
238
+ "name": "commenterSmartWalletOwner",
239
+ "type": "address",
240
+ "internalType": "address"
241
+ },
242
+ {
243
+ "name": "referrer",
244
+ "type": "address",
245
+ "internalType": "address"
140
246
  }
141
247
  ],
142
248
  "outputs": [
@@ -166,9 +272,101 @@
166
272
  "internalType": "bytes32"
167
273
  }
168
274
  ]
275
+ },
276
+ {
277
+ "name": "commentId",
278
+ "type": "bytes32",
279
+ "internalType": "bytes32"
169
280
  }
170
281
  ],
171
- "stateMutability": "nonpayable"
282
+ "stateMutability": "payable"
283
+ },
284
+ {
285
+ "type": "function",
286
+ "name": "hashAndCheckCommentExists",
287
+ "inputs": [
288
+ {
289
+ "name": "commentIdentifier",
290
+ "type": "tuple",
291
+ "internalType": "struct IComments.CommentIdentifier",
292
+ "components": [
293
+ {
294
+ "name": "commenter",
295
+ "type": "address",
296
+ "internalType": "address"
297
+ },
298
+ {
299
+ "name": "contractAddress",
300
+ "type": "address",
301
+ "internalType": "address"
302
+ },
303
+ {
304
+ "name": "tokenId",
305
+ "type": "uint256",
306
+ "internalType": "uint256"
307
+ },
308
+ {
309
+ "name": "nonce",
310
+ "type": "bytes32",
311
+ "internalType": "bytes32"
312
+ }
313
+ ]
314
+ }
315
+ ],
316
+ "outputs": [
317
+ {
318
+ "name": "commentId",
319
+ "type": "bytes32",
320
+ "internalType": "bytes32"
321
+ },
322
+ {
323
+ "name": "exists",
324
+ "type": "bool",
325
+ "internalType": "bool"
326
+ }
327
+ ],
328
+ "stateMutability": "view"
329
+ },
330
+ {
331
+ "type": "function",
332
+ "name": "hashAndValidateCommentExists",
333
+ "inputs": [
334
+ {
335
+ "name": "commentIdentifier",
336
+ "type": "tuple",
337
+ "internalType": "struct IComments.CommentIdentifier",
338
+ "components": [
339
+ {
340
+ "name": "commenter",
341
+ "type": "address",
342
+ "internalType": "address"
343
+ },
344
+ {
345
+ "name": "contractAddress",
346
+ "type": "address",
347
+ "internalType": "address"
348
+ },
349
+ {
350
+ "name": "tokenId",
351
+ "type": "uint256",
352
+ "internalType": "uint256"
353
+ },
354
+ {
355
+ "name": "nonce",
356
+ "type": "bytes32",
357
+ "internalType": "bytes32"
358
+ }
359
+ ]
360
+ }
361
+ ],
362
+ "outputs": [
363
+ {
364
+ "name": "commentId",
365
+ "type": "bytes32",
366
+ "internalType": "bytes32"
367
+ }
368
+ ],
369
+ "stateMutability": "view"
172
370
  },
173
371
  {
174
372
  "type": "function",
@@ -211,6 +409,223 @@
211
409
  ],
212
410
  "stateMutability": "view"
213
411
  },
412
+ {
413
+ "type": "function",
414
+ "name": "hashPermitComment",
415
+ "inputs": [
416
+ {
417
+ "name": "permit",
418
+ "type": "tuple",
419
+ "internalType": "struct IComments.PermitComment",
420
+ "components": [
421
+ {
422
+ "name": "commenter",
423
+ "type": "address",
424
+ "internalType": "address"
425
+ },
426
+ {
427
+ "name": "commenterSmartWallet",
428
+ "type": "address",
429
+ "internalType": "address"
430
+ },
431
+ {
432
+ "name": "contractAddress",
433
+ "type": "address",
434
+ "internalType": "address"
435
+ },
436
+ {
437
+ "name": "tokenId",
438
+ "type": "uint256",
439
+ "internalType": "uint256"
440
+ },
441
+ {
442
+ "name": "replyTo",
443
+ "type": "tuple",
444
+ "internalType": "struct IComments.CommentIdentifier",
445
+ "components": [
446
+ {
447
+ "name": "commenter",
448
+ "type": "address",
449
+ "internalType": "address"
450
+ },
451
+ {
452
+ "name": "contractAddress",
453
+ "type": "address",
454
+ "internalType": "address"
455
+ },
456
+ {
457
+ "name": "tokenId",
458
+ "type": "uint256",
459
+ "internalType": "uint256"
460
+ },
461
+ {
462
+ "name": "nonce",
463
+ "type": "bytes32",
464
+ "internalType": "bytes32"
465
+ }
466
+ ]
467
+ },
468
+ {
469
+ "name": "text",
470
+ "type": "string",
471
+ "internalType": "string"
472
+ },
473
+ {
474
+ "name": "referrer",
475
+ "type": "address",
476
+ "internalType": "address"
477
+ },
478
+ {
479
+ "name": "deadline",
480
+ "type": "uint256",
481
+ "internalType": "uint256"
482
+ },
483
+ {
484
+ "name": "nonce",
485
+ "type": "bytes32",
486
+ "internalType": "bytes32"
487
+ },
488
+ {
489
+ "name": "sourceChainId",
490
+ "type": "uint32",
491
+ "internalType": "uint32"
492
+ },
493
+ {
494
+ "name": "destinationChainId",
495
+ "type": "uint32",
496
+ "internalType": "uint32"
497
+ }
498
+ ]
499
+ }
500
+ ],
501
+ "outputs": [
502
+ {
503
+ "name": "",
504
+ "type": "bytes32",
505
+ "internalType": "bytes32"
506
+ }
507
+ ],
508
+ "stateMutability": "view"
509
+ },
510
+ {
511
+ "type": "function",
512
+ "name": "hashPermitSparkComment",
513
+ "inputs": [
514
+ {
515
+ "name": "permit",
516
+ "type": "tuple",
517
+ "internalType": "struct IComments.PermitSparkComment",
518
+ "components": [
519
+ {
520
+ "name": "comment",
521
+ "type": "tuple",
522
+ "internalType": "struct IComments.CommentIdentifier",
523
+ "components": [
524
+ {
525
+ "name": "commenter",
526
+ "type": "address",
527
+ "internalType": "address"
528
+ },
529
+ {
530
+ "name": "contractAddress",
531
+ "type": "address",
532
+ "internalType": "address"
533
+ },
534
+ {
535
+ "name": "tokenId",
536
+ "type": "uint256",
537
+ "internalType": "uint256"
538
+ },
539
+ {
540
+ "name": "nonce",
541
+ "type": "bytes32",
542
+ "internalType": "bytes32"
543
+ }
544
+ ]
545
+ },
546
+ {
547
+ "name": "sparker",
548
+ "type": "address",
549
+ "internalType": "address"
550
+ },
551
+ {
552
+ "name": "sparksQuantity",
553
+ "type": "uint256",
554
+ "internalType": "uint256"
555
+ },
556
+ {
557
+ "name": "deadline",
558
+ "type": "uint256",
559
+ "internalType": "uint256"
560
+ },
561
+ {
562
+ "name": "nonce",
563
+ "type": "bytes32",
564
+ "internalType": "bytes32"
565
+ },
566
+ {
567
+ "name": "referrer",
568
+ "type": "address",
569
+ "internalType": "address"
570
+ },
571
+ {
572
+ "name": "sourceChainId",
573
+ "type": "uint32",
574
+ "internalType": "uint32"
575
+ },
576
+ {
577
+ "name": "destinationChainId",
578
+ "type": "uint32",
579
+ "internalType": "uint32"
580
+ }
581
+ ]
582
+ }
583
+ ],
584
+ "outputs": [
585
+ {
586
+ "name": "",
587
+ "type": "bytes32",
588
+ "internalType": "bytes32"
589
+ }
590
+ ],
591
+ "stateMutability": "view"
592
+ },
593
+ {
594
+ "type": "function",
595
+ "name": "implementation",
596
+ "inputs": [],
597
+ "outputs": [
598
+ {
599
+ "name": "",
600
+ "type": "address",
601
+ "internalType": "address"
602
+ }
603
+ ],
604
+ "stateMutability": "view"
605
+ },
606
+ {
607
+ "type": "function",
608
+ "name": "initialize",
609
+ "inputs": [
610
+ {
611
+ "name": "commentsAdmin",
612
+ "type": "address",
613
+ "internalType": "address"
614
+ },
615
+ {
616
+ "name": "backfiller",
617
+ "type": "address",
618
+ "internalType": "address"
619
+ },
620
+ {
621
+ "name": "delegateCommenters",
622
+ "type": "address[]",
623
+ "internalType": "address[]"
624
+ }
625
+ ],
626
+ "outputs": [],
627
+ "stateMutability": "nonpayable"
628
+ },
214
629
  {
215
630
  "type": "function",
216
631
  "name": "nextNonce",
@@ -224,6 +639,185 @@
224
639
  ],
225
640
  "stateMutability": "view"
226
641
  },
642
+ {
643
+ "type": "function",
644
+ "name": "permitComment",
645
+ "inputs": [
646
+ {
647
+ "name": "permit",
648
+ "type": "tuple",
649
+ "internalType": "struct IComments.PermitComment",
650
+ "components": [
651
+ {
652
+ "name": "commenter",
653
+ "type": "address",
654
+ "internalType": "address"
655
+ },
656
+ {
657
+ "name": "commenterSmartWallet",
658
+ "type": "address",
659
+ "internalType": "address"
660
+ },
661
+ {
662
+ "name": "contractAddress",
663
+ "type": "address",
664
+ "internalType": "address"
665
+ },
666
+ {
667
+ "name": "tokenId",
668
+ "type": "uint256",
669
+ "internalType": "uint256"
670
+ },
671
+ {
672
+ "name": "replyTo",
673
+ "type": "tuple",
674
+ "internalType": "struct IComments.CommentIdentifier",
675
+ "components": [
676
+ {
677
+ "name": "commenter",
678
+ "type": "address",
679
+ "internalType": "address"
680
+ },
681
+ {
682
+ "name": "contractAddress",
683
+ "type": "address",
684
+ "internalType": "address"
685
+ },
686
+ {
687
+ "name": "tokenId",
688
+ "type": "uint256",
689
+ "internalType": "uint256"
690
+ },
691
+ {
692
+ "name": "nonce",
693
+ "type": "bytes32",
694
+ "internalType": "bytes32"
695
+ }
696
+ ]
697
+ },
698
+ {
699
+ "name": "text",
700
+ "type": "string",
701
+ "internalType": "string"
702
+ },
703
+ {
704
+ "name": "referrer",
705
+ "type": "address",
706
+ "internalType": "address"
707
+ },
708
+ {
709
+ "name": "deadline",
710
+ "type": "uint256",
711
+ "internalType": "uint256"
712
+ },
713
+ {
714
+ "name": "nonce",
715
+ "type": "bytes32",
716
+ "internalType": "bytes32"
717
+ },
718
+ {
719
+ "name": "sourceChainId",
720
+ "type": "uint32",
721
+ "internalType": "uint32"
722
+ },
723
+ {
724
+ "name": "destinationChainId",
725
+ "type": "uint32",
726
+ "internalType": "uint32"
727
+ }
728
+ ]
729
+ },
730
+ {
731
+ "name": "signature",
732
+ "type": "bytes",
733
+ "internalType": "bytes"
734
+ }
735
+ ],
736
+ "outputs": [],
737
+ "stateMutability": "payable"
738
+ },
739
+ {
740
+ "type": "function",
741
+ "name": "permitSparkComment",
742
+ "inputs": [
743
+ {
744
+ "name": "permit",
745
+ "type": "tuple",
746
+ "internalType": "struct IComments.PermitSparkComment",
747
+ "components": [
748
+ {
749
+ "name": "comment",
750
+ "type": "tuple",
751
+ "internalType": "struct IComments.CommentIdentifier",
752
+ "components": [
753
+ {
754
+ "name": "commenter",
755
+ "type": "address",
756
+ "internalType": "address"
757
+ },
758
+ {
759
+ "name": "contractAddress",
760
+ "type": "address",
761
+ "internalType": "address"
762
+ },
763
+ {
764
+ "name": "tokenId",
765
+ "type": "uint256",
766
+ "internalType": "uint256"
767
+ },
768
+ {
769
+ "name": "nonce",
770
+ "type": "bytes32",
771
+ "internalType": "bytes32"
772
+ }
773
+ ]
774
+ },
775
+ {
776
+ "name": "sparker",
777
+ "type": "address",
778
+ "internalType": "address"
779
+ },
780
+ {
781
+ "name": "sparksQuantity",
782
+ "type": "uint256",
783
+ "internalType": "uint256"
784
+ },
785
+ {
786
+ "name": "deadline",
787
+ "type": "uint256",
788
+ "internalType": "uint256"
789
+ },
790
+ {
791
+ "name": "nonce",
792
+ "type": "bytes32",
793
+ "internalType": "bytes32"
794
+ },
795
+ {
796
+ "name": "referrer",
797
+ "type": "address",
798
+ "internalType": "address"
799
+ },
800
+ {
801
+ "name": "sourceChainId",
802
+ "type": "uint32",
803
+ "internalType": "uint32"
804
+ },
805
+ {
806
+ "name": "destinationChainId",
807
+ "type": "uint32",
808
+ "internalType": "uint32"
809
+ }
810
+ ]
811
+ },
812
+ {
813
+ "name": "signature",
814
+ "type": "bytes",
815
+ "internalType": "bytes"
816
+ }
817
+ ],
818
+ "outputs": [],
819
+ "stateMutability": "payable"
820
+ },
227
821
  {
228
822
  "type": "function",
229
823
  "name": "sparkComment",
@@ -257,8 +851,8 @@
257
851
  },
258
852
  {
259
853
  "name": "sparksQuantity",
260
- "type": "uint64",
261
- "internalType": "uint64"
854
+ "type": "uint256",
855
+ "internalType": "uint256"
262
856
  },
263
857
  {
264
858
  "name": "referrer",
@@ -293,7 +887,7 @@
293
887
  "internalType": "bytes32"
294
888
  },
295
889
  {
296
- "name": "comment",
890
+ "name": "commentIdentifier",
297
891
  "type": "tuple",
298
892
  "indexed": false,
299
893
  "internalType": "struct IComments.CommentIdentifier",
@@ -352,7 +946,7 @@
352
946
  "internalType": "bytes32"
353
947
  },
354
948
  {
355
- "name": "comment",
949
+ "name": "commentIdentifier",
356
950
  "type": "tuple",
357
951
  "indexed": false,
358
952
  "internalType": "struct IComments.CommentIdentifier",
@@ -415,9 +1009,9 @@
415
1009
  },
416
1010
  {
417
1011
  "name": "sparksQuantity",
418
- "type": "uint64",
1012
+ "type": "uint256",
419
1013
  "indexed": false,
420
- "internalType": "uint64"
1014
+ "internalType": "uint256"
421
1015
  },
422
1016
  {
423
1017
  "name": "text",
@@ -480,9 +1074,9 @@
480
1074
  },
481
1075
  {
482
1076
  "name": "sparksQuantity",
483
- "type": "uint64",
1077
+ "type": "uint256",
484
1078
  "indexed": false,
485
- "internalType": "uint64"
1079
+ "internalType": "uint256"
486
1080
  },
487
1081
  {
488
1082
  "name": "sparker",
@@ -495,10 +1089,21 @@
495
1089
  "type": "uint256",
496
1090
  "indexed": false,
497
1091
  "internalType": "uint256"
1092
+ },
1093
+ {
1094
+ "name": "referrer",
1095
+ "type": "address",
1096
+ "indexed": false,
1097
+ "internalType": "address"
498
1098
  }
499
1099
  ],
500
1100
  "anonymous": false
501
1101
  },
1102
+ {
1103
+ "type": "error",
1104
+ "name": "AddressZero",
1105
+ "inputs": []
1106
+ },
502
1107
  {
503
1108
  "type": "error",
504
1109
  "name": "ArrayLengthMismatch",
@@ -620,6 +1225,21 @@
620
1225
  "name": "MustSendAtLeastOneSpark",
621
1226
  "inputs": []
622
1227
  },
1228
+ {
1229
+ "type": "error",
1230
+ "name": "NoFundsRecipient",
1231
+ "inputs": []
1232
+ },
1233
+ {
1234
+ "type": "error",
1235
+ "name": "NotSmartWallet",
1236
+ "inputs": []
1237
+ },
1238
+ {
1239
+ "type": "error",
1240
+ "name": "NotSmartWalletOwner",
1241
+ "inputs": []
1242
+ },
623
1243
  {
624
1244
  "type": "error",
625
1245
  "name": "NotTokenHolderOrAdmin",