@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.
- package/.turbo/turbo-build$colon$js.log +152 -0
- package/CHANGELOG.md +60 -0
- package/abis/BaseCoin.json +26 -0
- package/abis/BaseTest.json +2 -7
- package/abis/CoinConstants.json +0 -104
- package/abis/ContentCoin.json +26 -0
- package/abis/CreatorCoin.json +30 -4
- package/abis/FeeEstimatorHook.json +0 -5
- package/abis/ICoin.json +26 -0
- package/abis/ICoinV3.json +26 -0
- package/abis/ICreatorCoin.json +39 -0
- package/abis/IERC721.json +36 -36
- package/abis/IHasCoinType.json +15 -0
- package/abis/IHasTotalSupplyForPositions.json +15 -0
- package/abis/IZoraFactory.json +52 -0
- package/abis/IZoraHookRegistry.json +188 -0
- package/abis/VmContractHelper227.json +233 -0
- package/abis/ZoraFactoryImpl.json +32 -6
- package/abis/ZoraHookRegistry.json +375 -0
- package/abis/{CreatorCoinHook.json → ZoraV4CoinHook.json} +1 -1
- package/addresses/8453.json +2 -1
- package/dist/index.cjs +72 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +72 -10
- package/dist/index.js.map +1 -1
- package/dist/wagmiGenerated.d.ts +90 -10
- package/dist/wagmiGenerated.d.ts.map +1 -1
- package/foundry.toml +4 -1
- package/package/wagmiGenerated.ts +72 -10
- package/package.json +7 -5
- package/script/PrintRegisterUpgradePath.s.sol +0 -7
- package/script/TestBackingCoinSwap.s.sol +0 -1
- package/script/TestV4Swap.s.sol +0 -1
- package/script/UpgradeFactoryImpl.s.sol +1 -1
- package/src/BaseCoin.sol +15 -12
- package/src/ContentCoin.sol +10 -0
- package/src/CreatorCoin.sol +28 -7
- package/src/ZoraFactoryImpl.sol +62 -23
- package/src/deployment/CoinsDeployerBase.sol +24 -58
- package/src/hook-registry/ZoraHookRegistry.sol +93 -0
- package/src/hooks/{BaseZoraV4CoinHook.sol → ZoraV4CoinHook.sol} +13 -8
- package/src/interfaces/ICoin.sol +19 -1
- package/src/interfaces/ICreatorCoin.sol +4 -0
- package/src/interfaces/IZoraFactory.sol +32 -10
- package/src/interfaces/IZoraHookRegistry.sol +47 -0
- package/src/libs/CoinConstants.sol +0 -32
- package/src/libs/CoinRewardsV4.sol +53 -15
- package/src/libs/CreatorCoinConstants.sol +0 -1
- package/src/libs/HooksDeployment.sol +13 -65
- package/src/libs/MarketConstants.sol +10 -12
- package/src/libs/V4Liquidity.sol +30 -0
- package/src/version/ContractVersionBase.sol +1 -1
- package/test/CoinUniV4.t.sol +33 -30
- package/test/ContentCoinRewards.t.sol +320 -0
- package/test/CreatorCoin.t.sol +1 -1
- package/test/CreatorCoinRewards.t.sol +375 -0
- package/test/DeploymentHooks.t.sol +10 -10
- package/test/Factory.t.sol +24 -7
- package/test/HooksDeployment.t.sol +4 -4
- package/test/LiquidityMigration.t.sol +4 -9
- package/test/Upgrades.t.sol +44 -48
- package/test/ZoraHookRegistry.t.sol +266 -0
- package/test/utils/BaseTest.sol +25 -42
- package/test/utils/FeeEstimatorHook.sol +4 -6
- package/test/utils/RewardTestHelpers.sol +106 -0
- package/.turbo/turbo-build.log +0 -199
- package/abis/AutoSwapperTest.json +0 -618
- package/abis/BadImpl.json +0 -15
- package/abis/BaseZoraV4CoinHook.json +0 -1664
- package/abis/CoinTest.json +0 -819
- package/abis/CoinUniV4Test.json +0 -1128
- package/abis/ContentCoinHook.json +0 -1733
- package/abis/CreatorCoinTest.json +0 -887
- package/abis/Deploy.json +0 -9
- package/abis/DeployHooks.json +0 -9
- package/abis/DeployScript.json +0 -35
- package/abis/DeployedCoinVersionLookupTest.json +0 -740
- package/abis/DifferentNamespaceVersionLookup.json +0 -39
- package/abis/FactoryTest.json +0 -748
- package/abis/FakeHookNoInterface.json +0 -21
- package/abis/GenerateDeterministicParams.json +0 -9
- package/abis/HooksDeploymentTest.json +0 -645
- package/abis/HooksTest.json +0 -709
- package/abis/InvalidLiquidityMigrationReceiver.json +0 -21
- package/abis/LiquidityMigrationReceiver.json +0 -103
- package/abis/LiquidityMigrationTest.json +0 -889
- package/abis/MockBadFactory.json +0 -15
- package/abis/MultiOwnableTest.json +0 -766
- package/abis/PrintUpgradeCommand.json +0 -9
- package/abis/TestDeployedCoinVersionLookupImplementation.json +0 -39
- package/abis/TestV4Swap.json +0 -9
- package/abis/UpgradeFactoryImpl.json +0 -9
- package/abis/UpgradeHooks.json +0 -35
- package/abis/UpgradesTest.json +0 -723
- package/src/hooks/ContentCoinHook.sol +0 -27
- package/src/hooks/CreatorCoinHook.sol +0 -27
- 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
|
-
}
|