@zoralabs/coins 2.5.0 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/.turbo/turbo-build$colon$js.log +136 -130
  2. package/CHANGELOG.md +28 -17
  3. package/abis/BaseCoin.json +5 -0
  4. package/abis/ContentCoin.json +5 -0
  5. package/abis/ICoin.json +5 -0
  6. package/abis/ICoinV3.json +5 -0
  7. package/abis/ITrendCoin.json +140 -0
  8. package/abis/ITrendCoinErrors.json +33 -0
  9. package/abis/IUniversalRouter.json +61 -0
  10. package/abis/IZoraFactory.json +237 -0
  11. package/abis/TrendCoin.json +2053 -0
  12. package/abis/ZoraFactoryImpl.json +242 -0
  13. package/dist/index.cjs +955 -138
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.js +953 -138
  16. package/dist/index.js.map +1 -1
  17. package/dist/wagmiGenerated.d.ts +1388 -149
  18. package/dist/wagmiGenerated.d.ts.map +1 -1
  19. package/foundry.toml +1 -0
  20. package/package/wagmiGenerated.ts +962 -139
  21. package/package.json +2 -2
  22. package/src/BaseCoin.sol +12 -12
  23. package/src/ContentCoin.sol +20 -1
  24. package/src/CreatorCoin.sol +3 -0
  25. package/src/TrendCoin.sol +117 -0
  26. package/src/ZoraFactoryImpl.sol +142 -1
  27. package/src/hooks/ZoraV4CoinHook.sol +17 -7
  28. package/src/interfaces/ICoin.sol +5 -1
  29. package/src/interfaces/ICreatorCoin.sol +0 -3
  30. package/src/interfaces/IPoolManager.sol +13 -0
  31. package/src/interfaces/ITrendCoin.sol +26 -0
  32. package/src/interfaces/ITrendCoinErrors.sol +24 -0
  33. package/src/interfaces/IZoraFactory.sol +60 -1
  34. package/src/libs/CoinConstants.sol +13 -1
  35. package/src/libs/CoinRewardsV4.sol +82 -21
  36. package/src/libs/TickerUtils.sol +66 -0
  37. package/src/libs/UniV4SwapToCurrency.sol +2 -1
  38. package/src/version/ContractVersionBase.sol +1 -1
  39. package/test/CoinRewardsV4.t.sol +48 -0
  40. package/test/CreatorCoin.t.sol +2 -1
  41. package/test/Factory.t.sol +31 -5
  42. package/test/LaunchFee.t.sol +0 -2
  43. package/test/LiquidityMigration.t.sol +0 -2
  44. package/test/TrendCoin.t.sol +1128 -0
  45. package/test/Upgrades.t.sol +16 -3
  46. package/test/utils/FeeEstimatorHook.sol +36 -10
  47. package/test/utils/V4TestSetup.sol +36 -4
  48. package/wagmi.config.ts +2 -0
@@ -12,6 +12,11 @@
12
12
  "type": "address",
13
13
  "internalType": "address"
14
14
  },
15
+ {
16
+ "name": "trendCoinImpl_",
17
+ "type": "address",
18
+ "internalType": "address"
19
+ },
15
20
  {
16
21
  "name": "hook_",
17
22
  "type": "address",
@@ -482,6 +487,40 @@
482
487
  ],
483
488
  "stateMutability": "payable"
484
489
  },
490
+ {
491
+ "type": "function",
492
+ "name": "deployTrendCoin",
493
+ "inputs": [
494
+ {
495
+ "name": "symbol",
496
+ "type": "string",
497
+ "internalType": "string"
498
+ },
499
+ {
500
+ "name": "postDeployHook",
501
+ "type": "address",
502
+ "internalType": "address"
503
+ },
504
+ {
505
+ "name": "postDeployHookData",
506
+ "type": "bytes",
507
+ "internalType": "bytes"
508
+ }
509
+ ],
510
+ "outputs": [
511
+ {
512
+ "name": "coin",
513
+ "type": "address",
514
+ "internalType": "address"
515
+ },
516
+ {
517
+ "name": "postDeployHookDataOut",
518
+ "type": "bytes",
519
+ "internalType": "bytes"
520
+ }
521
+ ],
522
+ "stateMutability": "payable"
523
+ },
485
524
  {
486
525
  "type": "function",
487
526
  "name": "deployWithHook",
@@ -650,6 +689,39 @@
650
689
  "outputs": [],
651
690
  "stateMutability": "nonpayable"
652
691
  },
692
+ {
693
+ "type": "function",
694
+ "name": "setTrendCoinPoolConfig",
695
+ "inputs": [
696
+ {
697
+ "name": "currency",
698
+ "type": "address",
699
+ "internalType": "address"
700
+ },
701
+ {
702
+ "name": "tickLower",
703
+ "type": "int24[]",
704
+ "internalType": "int24[]"
705
+ },
706
+ {
707
+ "name": "tickUpper",
708
+ "type": "int24[]",
709
+ "internalType": "int24[]"
710
+ },
711
+ {
712
+ "name": "numDiscoveryPositions",
713
+ "type": "uint16[]",
714
+ "internalType": "uint16[]"
715
+ },
716
+ {
717
+ "name": "maxDiscoverySupplyShare",
718
+ "type": "uint256[]",
719
+ "internalType": "uint256[]"
720
+ }
721
+ ],
722
+ "outputs": [],
723
+ "stateMutability": "nonpayable"
724
+ },
653
725
  {
654
726
  "type": "function",
655
727
  "name": "transferOwnership",
@@ -663,6 +735,51 @@
663
735
  "outputs": [],
664
736
  "stateMutability": "nonpayable"
665
737
  },
738
+ {
739
+ "type": "function",
740
+ "name": "trendCoinAddress",
741
+ "inputs": [
742
+ {
743
+ "name": "symbol",
744
+ "type": "string",
745
+ "internalType": "string"
746
+ }
747
+ ],
748
+ "outputs": [
749
+ {
750
+ "name": "",
751
+ "type": "address",
752
+ "internalType": "address"
753
+ }
754
+ ],
755
+ "stateMutability": "view"
756
+ },
757
+ {
758
+ "type": "function",
759
+ "name": "trendCoinImpl",
760
+ "inputs": [],
761
+ "outputs": [
762
+ {
763
+ "name": "",
764
+ "type": "address",
765
+ "internalType": "address"
766
+ }
767
+ ],
768
+ "stateMutability": "view"
769
+ },
770
+ {
771
+ "type": "function",
772
+ "name": "trendCoinPoolConfig",
773
+ "inputs": [],
774
+ "outputs": [
775
+ {
776
+ "name": "",
777
+ "type": "bytes",
778
+ "internalType": "bytes"
779
+ }
780
+ ],
781
+ "stateMutability": "view"
782
+ },
666
783
  {
667
784
  "type": "function",
668
785
  "name": "upgradeToAndCall",
@@ -1012,6 +1129,95 @@
1012
1129
  ],
1013
1130
  "anonymous": false
1014
1131
  },
1132
+ {
1133
+ "type": "event",
1134
+ "name": "TrendCoinCreated",
1135
+ "inputs": [
1136
+ {
1137
+ "name": "caller",
1138
+ "type": "address",
1139
+ "indexed": true,
1140
+ "internalType": "address"
1141
+ },
1142
+ {
1143
+ "name": "symbol",
1144
+ "type": "string",
1145
+ "indexed": false,
1146
+ "internalType": "string"
1147
+ },
1148
+ {
1149
+ "name": "coin",
1150
+ "type": "address",
1151
+ "indexed": false,
1152
+ "internalType": "address"
1153
+ },
1154
+ {
1155
+ "name": "poolKey",
1156
+ "type": "tuple",
1157
+ "indexed": false,
1158
+ "internalType": "struct PoolKey",
1159
+ "components": [
1160
+ {
1161
+ "name": "currency0",
1162
+ "type": "address",
1163
+ "internalType": "Currency"
1164
+ },
1165
+ {
1166
+ "name": "currency1",
1167
+ "type": "address",
1168
+ "internalType": "Currency"
1169
+ },
1170
+ {
1171
+ "name": "fee",
1172
+ "type": "uint24",
1173
+ "internalType": "uint24"
1174
+ },
1175
+ {
1176
+ "name": "tickSpacing",
1177
+ "type": "int24",
1178
+ "internalType": "int24"
1179
+ },
1180
+ {
1181
+ "name": "hooks",
1182
+ "type": "address",
1183
+ "internalType": "contract IHooks"
1184
+ }
1185
+ ]
1186
+ },
1187
+ {
1188
+ "name": "poolKeyHash",
1189
+ "type": "bytes32",
1190
+ "indexed": false,
1191
+ "internalType": "bytes32"
1192
+ },
1193
+ {
1194
+ "name": "poolConfig",
1195
+ "type": "bytes",
1196
+ "indexed": false,
1197
+ "internalType": "bytes"
1198
+ },
1199
+ {
1200
+ "name": "version",
1201
+ "type": "string",
1202
+ "indexed": false,
1203
+ "internalType": "string"
1204
+ }
1205
+ ],
1206
+ "anonymous": false
1207
+ },
1208
+ {
1209
+ "type": "event",
1210
+ "name": "TrendCoinPoolConfigUpdated",
1211
+ "inputs": [
1212
+ {
1213
+ "name": "poolConfig",
1214
+ "type": "bytes",
1215
+ "indexed": false,
1216
+ "internalType": "bytes"
1217
+ }
1218
+ ],
1219
+ "anonymous": false
1220
+ },
1015
1221
  {
1016
1222
  "type": "event",
1017
1223
  "name": "Upgraded",
@@ -1187,6 +1393,37 @@
1187
1393
  "name": "ReentrancyGuardReentrantCall",
1188
1394
  "inputs": []
1189
1395
  },
1396
+ {
1397
+ "type": "error",
1398
+ "name": "TickerAlreadyUsed",
1399
+ "inputs": [
1400
+ {
1401
+ "name": "symbol",
1402
+ "type": "string",
1403
+ "internalType": "string"
1404
+ }
1405
+ ]
1406
+ },
1407
+ {
1408
+ "type": "error",
1409
+ "name": "TickerInvalidCharacters",
1410
+ "inputs": []
1411
+ },
1412
+ {
1413
+ "type": "error",
1414
+ "name": "TickerTooLong",
1415
+ "inputs": []
1416
+ },
1417
+ {
1418
+ "type": "error",
1419
+ "name": "TickerTooShort",
1420
+ "inputs": []
1421
+ },
1422
+ {
1423
+ "type": "error",
1424
+ "name": "TrendCoinPoolConfigNotSet",
1425
+ "inputs": []
1426
+ },
1190
1427
  {
1191
1428
  "type": "error",
1192
1429
  "name": "UUPSUnauthorizedCallContext",
@@ -1219,6 +1456,11 @@
1219
1456
  }
1220
1457
  ]
1221
1458
  },
1459
+ {
1460
+ "type": "error",
1461
+ "name": "UseSpecificTrendCoinInitialize",
1462
+ "inputs": []
1463
+ },
1222
1464
  {
1223
1465
  "type": "error",
1224
1466
  "name": "ZeroDiscoveryPositions",