@zoralabs/coins 2.1.1 → 2.2.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 (97) hide show
  1. package/.turbo/turbo-build$colon$js.log +152 -0
  2. package/CHANGELOG.md +60 -0
  3. package/abis/BaseCoin.json +26 -0
  4. package/abis/BaseTest.json +2 -7
  5. package/abis/CoinConstants.json +0 -104
  6. package/abis/ContentCoin.json +26 -0
  7. package/abis/CreatorCoin.json +30 -4
  8. package/abis/FeeEstimatorHook.json +0 -5
  9. package/abis/ICoin.json +26 -0
  10. package/abis/ICoinV3.json +26 -0
  11. package/abis/ICreatorCoin.json +39 -0
  12. package/abis/IERC721.json +36 -36
  13. package/abis/IHasCoinType.json +15 -0
  14. package/abis/IHasTotalSupplyForPositions.json +15 -0
  15. package/abis/IZoraFactory.json +52 -0
  16. package/abis/IZoraHookRegistry.json +188 -0
  17. package/abis/VmContractHelper227.json +233 -0
  18. package/abis/ZoraFactoryImpl.json +32 -6
  19. package/abis/ZoraHookRegistry.json +375 -0
  20. package/abis/{CreatorCoinHook.json → ZoraV4CoinHook.json} +1 -1
  21. package/addresses/8453.json +2 -1
  22. package/dist/index.cjs +72 -10
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.js +72 -10
  25. package/dist/index.js.map +1 -1
  26. package/dist/wagmiGenerated.d.ts +90 -10
  27. package/dist/wagmiGenerated.d.ts.map +1 -1
  28. package/foundry.toml +4 -1
  29. package/package/wagmiGenerated.ts +72 -10
  30. package/package.json +7 -5
  31. package/script/PrintRegisterUpgradePath.s.sol +0 -7
  32. package/script/TestBackingCoinSwap.s.sol +0 -1
  33. package/script/TestV4Swap.s.sol +0 -1
  34. package/script/UpgradeFactoryImpl.s.sol +1 -1
  35. package/src/BaseCoin.sol +15 -12
  36. package/src/ContentCoin.sol +10 -0
  37. package/src/CreatorCoin.sol +28 -7
  38. package/src/ZoraFactoryImpl.sol +62 -23
  39. package/src/deployment/CoinsDeployerBase.sol +24 -58
  40. package/src/hook-registry/ZoraHookRegistry.sol +93 -0
  41. package/src/hooks/{BaseZoraV4CoinHook.sol → ZoraV4CoinHook.sol} +13 -8
  42. package/src/interfaces/ICoin.sol +19 -1
  43. package/src/interfaces/ICreatorCoin.sol +4 -0
  44. package/src/interfaces/IZoraFactory.sol +32 -10
  45. package/src/interfaces/IZoraHookRegistry.sol +47 -0
  46. package/src/libs/CoinConstants.sol +0 -32
  47. package/src/libs/CoinRewardsV4.sol +53 -15
  48. package/src/libs/CreatorCoinConstants.sol +0 -1
  49. package/src/libs/HooksDeployment.sol +13 -65
  50. package/src/libs/MarketConstants.sol +10 -12
  51. package/src/libs/V4Liquidity.sol +30 -0
  52. package/src/version/ContractVersionBase.sol +1 -1
  53. package/test/CoinUniV4.t.sol +33 -30
  54. package/test/ContentCoinRewards.t.sol +320 -0
  55. package/test/CreatorCoin.t.sol +1 -1
  56. package/test/CreatorCoinRewards.t.sol +375 -0
  57. package/test/DeploymentHooks.t.sol +10 -10
  58. package/test/Factory.t.sol +24 -7
  59. package/test/HooksDeployment.t.sol +4 -4
  60. package/test/LiquidityMigration.t.sol +4 -9
  61. package/test/Upgrades.t.sol +44 -48
  62. package/test/ZoraHookRegistry.t.sol +266 -0
  63. package/test/utils/BaseTest.sol +25 -42
  64. package/test/utils/FeeEstimatorHook.sol +4 -6
  65. package/test/utils/RewardTestHelpers.sol +106 -0
  66. package/.turbo/turbo-build.log +0 -199
  67. package/abis/AutoSwapperTest.json +0 -618
  68. package/abis/BadImpl.json +0 -15
  69. package/abis/BaseZoraV4CoinHook.json +0 -1664
  70. package/abis/CoinTest.json +0 -819
  71. package/abis/CoinUniV4Test.json +0 -1128
  72. package/abis/ContentCoinHook.json +0 -1733
  73. package/abis/CreatorCoinTest.json +0 -887
  74. package/abis/Deploy.json +0 -9
  75. package/abis/DeployHooks.json +0 -9
  76. package/abis/DeployScript.json +0 -35
  77. package/abis/DeployedCoinVersionLookupTest.json +0 -740
  78. package/abis/DifferentNamespaceVersionLookup.json +0 -39
  79. package/abis/FactoryTest.json +0 -748
  80. package/abis/FakeHookNoInterface.json +0 -21
  81. package/abis/GenerateDeterministicParams.json +0 -9
  82. package/abis/HooksDeploymentTest.json +0 -645
  83. package/abis/HooksTest.json +0 -709
  84. package/abis/InvalidLiquidityMigrationReceiver.json +0 -21
  85. package/abis/LiquidityMigrationReceiver.json +0 -103
  86. package/abis/LiquidityMigrationTest.json +0 -889
  87. package/abis/MockBadFactory.json +0 -15
  88. package/abis/MultiOwnableTest.json +0 -766
  89. package/abis/PrintUpgradeCommand.json +0 -9
  90. package/abis/TestDeployedCoinVersionLookupImplementation.json +0 -39
  91. package/abis/TestV4Swap.json +0 -9
  92. package/abis/UpgradeFactoryImpl.json +0 -9
  93. package/abis/UpgradeHooks.json +0 -35
  94. package/abis/UpgradesTest.json +0 -723
  95. package/src/hooks/ContentCoinHook.sol +0 -27
  96. package/src/hooks/CreatorCoinHook.sol +0 -27
  97. package/src/libs/CreatorCoinRewards.sol +0 -34
@@ -1,27 +0,0 @@
1
- // SPDX-License-Identifier: ZORA-DELAYED-OSL-v1
2
- // This software is licensed under the Zora Delayed Open Source License.
3
- // Under this license, you may use, copy, modify, and distribute this software for
4
- // non-commercial purposes only. Commercial use and competitive products are prohibited
5
- // until the "Open Date" (3 years from first public distribution or earlier at Zora's discretion),
6
- // at which point this software automatically becomes available under the MIT License.
7
- // Full license terms available at: https://docs.zora.co/coins/license
8
- pragma solidity ^0.8.28;
9
-
10
- import {IPoolManager, IDeployedCoinVersionLookup, IHasRewardsRecipients, Currency, BaseZoraV4CoinHook} from "./BaseZoraV4CoinHook.sol";
11
- import {CoinRewardsV4} from "../libs/CoinRewardsV4.sol";
12
- import {CoinConstants} from "../libs/CoinConstants.sol";
13
- import {IHooksUpgradeGate} from "../interfaces/IHooksUpgradeGate.sol";
14
-
15
- contract ContentCoinHook is BaseZoraV4CoinHook {
16
- constructor(
17
- IPoolManager poolManager_,
18
- IDeployedCoinVersionLookup coinVersionLookup_,
19
- address[] memory trustedMessageSenders_,
20
- IHooksUpgradeGate upgradeGate
21
- ) BaseZoraV4CoinHook(poolManager_, coinVersionLookup_, trustedMessageSenders_, upgradeGate, CoinConstants.POOL_LAUNCH_SUPPLY) {}
22
-
23
- /// @dev Override for market reward distribution
24
- function _distributeMarketRewards(Currency currency, uint128 fees, IHasRewardsRecipients coin, address tradeReferrer) internal override {
25
- CoinRewardsV4.distributeMarketRewards(currency, fees, coin, tradeReferrer);
26
- }
27
- }
@@ -1,27 +0,0 @@
1
- // SPDX-License-Identifier: ZORA-DELAYED-OSL-v1
2
- // This software is licensed under the Zora Delayed Open Source License.
3
- // Under this license, you may use, copy, modify, and distribute this software for
4
- // non-commercial purposes only. Commercial use and competitive products are prohibited
5
- // until the "Open Date" (3 years from first public distribution or earlier at Zora's discretion),
6
- // at which point this software automatically becomes available under the MIT License.
7
- // Full license terms available at: https://docs.zora.co/coins/license
8
- pragma solidity ^0.8.28;
9
-
10
- import {CreatorCoinConstants} from "../libs/CreatorCoinConstants.sol";
11
- import {CreatorCoinRewards} from "../libs/CreatorCoinRewards.sol";
12
- import {IPoolManager, IDeployedCoinVersionLookup, IHasRewardsRecipients, Currency, BaseZoraV4CoinHook} from "./BaseZoraV4CoinHook.sol";
13
- import {IHooksUpgradeGate} from "../interfaces/IHooksUpgradeGate.sol";
14
-
15
- contract CreatorCoinHook is BaseZoraV4CoinHook {
16
- constructor(
17
- IPoolManager poolManager_,
18
- IDeployedCoinVersionLookup coinVersionLookup_,
19
- address[] memory trustedMessageSenders_,
20
- IHooksUpgradeGate upgradeGate
21
- ) BaseZoraV4CoinHook(poolManager_, coinVersionLookup_, trustedMessageSenders_, upgradeGate, CreatorCoinConstants.MARKET_SUPPLY) {}
22
-
23
- /// @dev Override for distributing market rewards and vested coins to the creator
24
- function _distributeMarketRewards(Currency currency, uint128 fees, IHasRewardsRecipients coin, address) internal override {
25
- CreatorCoinRewards.distributeMarketRewards(currency, fees, coin);
26
- }
27
- }
@@ -1,34 +0,0 @@
1
- // SPDX-License-Identifier: ZORA-DELAYED-OSL-v1
2
- // This software is licensed under the Zora Delayed Open Source License.
3
- // Under this license, you may use, copy, modify, and distribute this software for
4
- // non-commercial purposes only. Commercial use and competitive products are prohibited
5
- // until the "Open Date" (3 years from first public distribution or earlier at Zora's discretion),
6
- // at which point this software automatically becomes available under the MIT License.
7
- // Full license terms available at: https://docs.zora.co/coins/license
8
- pragma solidity ^0.8.28;
9
-
10
- import {ICreatorCoinHook} from "../interfaces/ICreatorCoinHook.sol";
11
- import {CoinRewardsV4, IPoolManager, Currency, IHasRewardsRecipients} from "./CoinRewardsV4.sol";
12
-
13
- library CreatorCoinRewards {
14
- function distributeMarketRewards(Currency currency, uint128 fees, IHasRewardsRecipients coin) internal {
15
- address payoutRecipient = coin.payoutRecipient();
16
- address protocolRewardRecipient = coin.protocolRewardRecipient();
17
-
18
- uint256 totalAmount = uint256(fees);
19
- uint256 creatorAmount = CoinRewardsV4.calculateReward(totalAmount, CoinRewardsV4.CREATOR_REWARD_BPS);
20
- uint256 protocolAmount = totalAmount - creatorAmount;
21
-
22
- CoinRewardsV4._transferCurrency(currency, creatorAmount, payoutRecipient);
23
- CoinRewardsV4._transferCurrency(currency, protocolAmount, protocolRewardRecipient);
24
-
25
- emit ICreatorCoinHook.CreatorCoinRewards(
26
- address(coin),
27
- Currency.unwrap(currency),
28
- payoutRecipient,
29
- protocolRewardRecipient,
30
- creatorAmount,
31
- protocolAmount
32
- );
33
- }
34
- }