From 8b1c64901d76f57acc420b932b7673fbc7f272ce Mon Sep 17 00:00:00 2001 From: Bearmigiano Date: Mon, 23 Feb 2026 12:14:04 +0100 Subject: [PATCH] chore: DES --- ...edicatedEmissionStreamManagerDeployer.json | 71 + .../contracts/pol/interfaces/IBeraChef.json | 61 +- .../IDedicatedEmissionStreamManager.json | 787 +++++++++++ .../pol/interfaces/IDistributor.json | 55 + .../pol/interfaces/IRewardAllocation.json | 1 + .../interfaces/IRewardAllocatorFactory.json | 18 +- bepolia/contracts/pol/rewards/BeraChef.json | 42 +- .../DedicatedEmissionStreamManager.json | 1258 +++++++++++++++++ .../contracts/pol/rewards/Distributor.json | 55 + .../pol/rewards/RewardAllocatorFactory.json | 18 +- ...edicatedEmissionStreamManagerDeployer.json | 71 + .../contracts/pol/interfaces/IBeraChef.json | 61 +- .../IDedicatedEmissionStreamManager.json | 787 +++++++++++ .../pol/interfaces/IDistributor.json | 55 + .../pol/interfaces/IRewardAllocation.json | 1 + .../interfaces/IRewardAllocatorFactory.json | 18 +- mainnet/contracts/pol/rewards/BeraChef.json | 42 +- .../DedicatedEmissionStreamManager.json | 1258 +++++++++++++++++ .../contracts/pol/rewards/Distributor.json | 55 + .../pol/rewards/RewardAllocatorFactory.json | 18 +- 20 files changed, 4652 insertions(+), 80 deletions(-) create mode 100644 bepolia/contracts/pol/DedicatedEmissionStreamManagerDeployer.json create mode 100644 bepolia/contracts/pol/interfaces/IDedicatedEmissionStreamManager.json create mode 100644 bepolia/contracts/pol/interfaces/IRewardAllocation.json create mode 100644 bepolia/contracts/pol/rewards/DedicatedEmissionStreamManager.json create mode 100644 mainnet/contracts/pol/DedicatedEmissionStreamManagerDeployer.json create mode 100644 mainnet/contracts/pol/interfaces/IDedicatedEmissionStreamManager.json create mode 100644 mainnet/contracts/pol/interfaces/IRewardAllocation.json create mode 100644 mainnet/contracts/pol/rewards/DedicatedEmissionStreamManager.json diff --git a/bepolia/contracts/pol/DedicatedEmissionStreamManagerDeployer.json b/bepolia/contracts/pol/DedicatedEmissionStreamManagerDeployer.json new file mode 100644 index 0000000..decc1d5 --- /dev/null +++ b/bepolia/contracts/pol/DedicatedEmissionStreamManagerDeployer.json @@ -0,0 +1,71 @@ +[ + { + "type": "constructor", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "distributor", + "type": "address", + "internalType": "address" + }, + { + "name": "beraChef", + "type": "address", + "internalType": "address" + }, + { + "name": "dedicatedEmissionStreamManagerSalt", + "type": "tuple", + "internalType": "struct Salt", + "components": [ + { + "name": "proxy", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "implementation", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_CREATE2_FACTORY", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "dedicatedEmissionStreamManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract DedicatedEmissionStreamManager" + } + ], + "stateMutability": "view" + }, + { + "type": "error", + "name": "DeploymentFailed", + "inputs": [] + } +] diff --git a/bepolia/contracts/pol/interfaces/IBeraChef.json b/bepolia/contracts/pol/interfaces/IBeraChef.json index 641a919..4efd8bc 100644 --- a/bepolia/contracts/pol/interfaces/IBeraChef.json +++ b/bepolia/contracts/pol/interfaces/IBeraChef.json @@ -39,7 +39,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -49,7 +49,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -76,7 +76,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -86,7 +86,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -119,7 +119,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -129,7 +129,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -162,7 +162,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -172,7 +172,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -302,6 +302,25 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "isWhitelistedVault", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "maxWeightPerVault", @@ -332,7 +351,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -388,7 +407,7 @@ { "name": "rewardAllocation", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -398,7 +417,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -549,7 +568,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -587,7 +606,7 @@ "name": "weights", "type": "tuple[]", "indexed": false, - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -663,7 +682,7 @@ "name": "weights", "type": "tuple[]", "indexed": false, - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -752,7 +771,7 @@ "name": "rewardAllocation", "type": "tuple", "indexed": false, - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -762,7 +781,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -1025,6 +1044,11 @@ "name": "InvalidDropBoostDelay", "inputs": [] }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, { "type": "error", "name": "InvalidIncentiveFeeRate", @@ -1105,6 +1129,11 @@ "name": "InvalidStartBlock", "inputs": [] }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, { "type": "error", "name": "InvalidToken", diff --git a/bepolia/contracts/pol/interfaces/IDedicatedEmissionStreamManager.json b/bepolia/contracts/pol/interfaces/IDedicatedEmissionStreamManager.json new file mode 100644 index 0000000..5c6a382 --- /dev/null +++ b/bepolia/contracts/pol/interfaces/IDedicatedEmissionStreamManager.json @@ -0,0 +1,787 @@ +[ + { + "type": "function", + "name": "emissionPerc", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint96", + "internalType": "uint96" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMaxEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "internalType": "address" + }, + { + "name": "emission", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRewardAllocation", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IRewardAllocation.Weight[]", + "components": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "percentageNumerator", + "type": "uint96", + "internalType": "uint96" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "notifyEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setBeraChef", + "inputs": [ + { + "name": "_beraChef", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setDistributor", + "inputs": [ + { + "name": "_distributor", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setEmissionPerc", + "inputs": [ + { + "name": "_emissionPerc", + "type": "uint96", + "internalType": "uint96" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRewardAllocation", + "inputs": [ + { + "name": "_rewardAllocation", + "type": "tuple[]", + "internalType": "struct IRewardAllocation.Weight[]", + "components": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "percentageNumerator", + "type": "uint96", + "internalType": "uint96" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "internalType": "address" + }, + { + "name": "_targetEmission", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "BeraChefSet", + "inputs": [ + { + "name": "beraChef", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DistributorSet", + "inputs": [ + { + "name": "distributor", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "EmissionPercSet", + "inputs": [ + { + "name": "newEmissionPerc", + "type": "uint96", + "indexed": false, + "internalType": "uint96" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NotifyEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RewardAllocationSet", + "inputs": [ + { + "name": "newRewardAllocation", + "type": "tuple[]", + "indexed": false, + "internalType": "struct IRewardAllocation.Weight[]", + "components": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "percentageNumerator", + "type": "uint96", + "internalType": "uint96" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetEmissionSet", + "inputs": [ + { + "name": "vault", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "targetEmission", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AmountGreaterThanReward", + "inputs": [] + }, + { + "type": "error", + "name": "AmountLessThanMinIncentiveRate", + "inputs": [] + }, + { + "type": "error", + "name": "CannotRecoverIncentiveToken", + "inputs": [] + }, + { + "type": "error", + "name": "CannotRecoverRewardToken", + "inputs": [] + }, + { + "type": "error", + "name": "CannotRecoverStakingToken", + "inputs": [] + }, + { + "type": "error", + "name": "CommissionChangeAlreadyQueued", + "inputs": [] + }, + { + "type": "error", + "name": "CommissionNotQueuedOrDelayNotPassed", + "inputs": [] + }, + { + "type": "error", + "name": "DepositNotMultipleOfGwei", + "inputs": [] + }, + { + "type": "error", + "name": "DepositValueTooHigh", + "inputs": [] + }, + { + "type": "error", + "name": "DonateAmountLessThanPayoutAmount", + "inputs": [] + }, + { + "type": "error", + "name": "DuplicateReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DurationChangeNotAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "IncentiveRateTooHigh", + "inputs": [] + }, + { + "type": "error", + "name": "IndexOutOfRange", + "inputs": [] + }, + { + "type": "error", + "name": "InsolventReward", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientDelegateStake", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientDeposit", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientIncentiveTokens", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientNativeValue", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientSelfStake", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientStake", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidActivateBoostDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidArray", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBoostMultiplier", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCommissionChangeDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCommissionValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCredentialsLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDistribution", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDropBoostDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIncentiveFeeRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIncentiveRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxIncentiveTokensCount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxWeightPerVault", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMerkleRoot", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinBoostedRewardRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidProof", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPubKeyLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardAllocationInactivityBlockSpan", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardAllocationWeights", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardClaimDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardConvexity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignatureLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidStartBlock", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidWeight", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidateDefaultRewardAllocation", + "inputs": [] + }, + { + "type": "error", + "name": "InvariantCheckFailed", + "inputs": [] + }, + { + "type": "error", + "name": "LSTStakerVaultAlreadyAdded", + "inputs": [] + }, + { + "type": "error", + "name": "LSTStakerVaultNotFound", + "inputs": [] + }, + { + "type": "error", + "name": "MaxNumWeightsPerRewardAllocationIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "MethodNotAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "MinIncentiveRateIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "NonTransferable", + "inputs": [] + }, + { + "type": "error", + "name": "NotAContract", + "inputs": [] + }, + { + "type": "error", + "name": "NotApprovedSender", + "inputs": [] + }, + { + "type": "error", + "name": "NotBGT", + "inputs": [] + }, + { + "type": "error", + "name": "NotBlockRewardController", + "inputs": [] + }, + { + "type": "error", + "name": "NotDelegate", + "inputs": [] + }, + { + "type": "error", + "name": "NotDistributor", + "inputs": [] + }, + { + "type": "error", + "name": "NotEnoughBalance", + "inputs": [] + }, + { + "type": "error", + "name": "NotEnoughBoostedBalance", + "inputs": [] + }, + { + "type": "error", + "name": "NotEnoughTime", + "inputs": [] + }, + { + "type": "error", + "name": "NotFactoryVault", + "inputs": [] + }, + { + "type": "error", + "name": "NotFeeCollector", + "inputs": [] + }, + { + "type": "error", + "name": "NotIncentiveManager", + "inputs": [] + }, + { + "type": "error", + "name": "NotNewOperator", + "inputs": [] + }, + { + "type": "error", + "name": "NotOperator", + "inputs": [] + }, + { + "type": "error", + "name": "NotRewardAllocator", + "inputs": [] + }, + { + "type": "error", + "name": "NotRewardDurationManager", + "inputs": [] + }, + { + "type": "error", + "name": "NotRewardVaultManager", + "inputs": [] + }, + { + "type": "error", + "name": "NotStakerVault", + "inputs": [] + }, + { + "type": "error", + "name": "NotSystemAddress", + "inputs": [] + }, + { + "type": "error", + "name": "NotWBERAStakerVault", + "inputs": [] + }, + { + "type": "error", + "name": "NotWhitelistedVault", + "inputs": [] + }, + { + "type": "error", + "name": "OnlyNFTOwnerAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "OnlySystemCallAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "OperatorAlreadySet", + "inputs": [] + }, + { + "type": "error", + "name": "PayoutAmountIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "RewardAllocationAlreadyQueued", + "inputs": [] + }, + { + "type": "error", + "name": "RewardAllocationBlockDelayTooLarge", + "inputs": [] + }, + { + "type": "error", + "name": "RewardCycleNotEnded", + "inputs": [] + }, + { + "type": "error", + "name": "RewardDurationCoolDownPeriodNotPassed", + "inputs": [] + }, + { + "type": "error", + "name": "RewardInactive", + "inputs": [] + }, + { + "type": "error", + "name": "RewardsDurationIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "StakeAmountIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "TimestampAlreadyProcessed", + "inputs": [] + }, + { + "type": "error", + "name": "TokenAlreadyWhitelistedOrLimitReached", + "inputs": [] + }, + { + "type": "error", + "name": "TokenNotWhitelisted", + "inputs": [] + }, + { + "type": "error", + "name": "TooManyWeights", + "inputs": [] + }, + { + "type": "error", + "name": "TotalSupplyOverflow", + "inputs": [] + }, + { + "type": "error", + "name": "UnauthorizedETHTransfer", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawAmountIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawalAlreadyRequested", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawalNotReady", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawalNotRequested", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroOperatorOnFirstDeposit", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroPercentageWeight", + "inputs": [] + } +] diff --git a/bepolia/contracts/pol/interfaces/IDistributor.json b/bepolia/contracts/pol/interfaces/IDistributor.json index 2da0cf0..7798232 100644 --- a/bepolia/contracts/pol/interfaces/IDistributor.json +++ b/bepolia/contracts/pol/interfaces/IDistributor.json @@ -12,6 +12,19 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "dedicatedEmissionStreamManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IDedicatedEmissionStreamManager" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "distributeFor", @@ -58,6 +71,38 @@ "outputs": [], "stateMutability": "nonpayable" }, + { + "type": "function", + "name": "setDedicatedEmissionStreamManager", + "inputs": [ + { + "name": "_dedicatedEmissionStreamManager", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "DedicatedEmissionStreamManagerSet", + "inputs": [ + { + "name": "oldDedicatedEmissionStreamManager", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newDedicatedEmissionStreamManager", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, { "type": "event", "name": "Distributed", @@ -245,6 +290,11 @@ "name": "InvalidDropBoostDelay", "inputs": [] }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, { "type": "error", "name": "InvalidIncentiveFeeRate", @@ -325,6 +375,11 @@ "name": "InvalidStartBlock", "inputs": [] }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, { "type": "error", "name": "InvalidToken", diff --git a/bepolia/contracts/pol/interfaces/IRewardAllocation.json b/bepolia/contracts/pol/interfaces/IRewardAllocation.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/bepolia/contracts/pol/interfaces/IRewardAllocation.json @@ -0,0 +1 @@ +[] diff --git a/bepolia/contracts/pol/interfaces/IRewardAllocatorFactory.json b/bepolia/contracts/pol/interfaces/IRewardAllocatorFactory.json index ffae373..5f72560 100644 --- a/bepolia/contracts/pol/interfaces/IRewardAllocatorFactory.json +++ b/bepolia/contracts/pol/interfaces/IRewardAllocatorFactory.json @@ -7,7 +7,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -17,7 +17,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -43,7 +43,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -69,7 +69,7 @@ "name": "weights", "type": "tuple[]", "indexed": false, - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -242,6 +242,11 @@ "name": "InvalidDropBoostDelay", "inputs": [] }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, { "type": "error", "name": "InvalidIncentiveFeeRate", @@ -322,6 +327,11 @@ "name": "InvalidStartBlock", "inputs": [] }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, { "type": "error", "name": "InvalidToken", diff --git a/bepolia/contracts/pol/rewards/BeraChef.json b/bepolia/contracts/pol/rewards/BeraChef.json index ebacd37..2c24537 100644 --- a/bepolia/contracts/pol/rewards/BeraChef.json +++ b/bepolia/contracts/pol/rewards/BeraChef.json @@ -148,7 +148,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -158,7 +158,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -185,7 +185,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -195,7 +195,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -228,7 +228,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -238,7 +238,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -271,7 +271,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -281,7 +281,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -532,7 +532,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -634,7 +634,7 @@ { "name": "ra", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -644,7 +644,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -845,7 +845,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -883,7 +883,7 @@ "name": "weights", "type": "tuple[]", "indexed": false, - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -991,7 +991,7 @@ "name": "weights", "type": "tuple[]", "indexed": false, - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -1080,7 +1080,7 @@ "name": "rewardAllocation", "type": "tuple", "indexed": false, - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -1090,7 +1090,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -1398,6 +1398,11 @@ "name": "InvalidDropBoostDelay", "inputs": [] }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, { "type": "error", "name": "InvalidIncentiveFeeRate", @@ -1483,6 +1488,11 @@ "name": "InvalidStartBlock", "inputs": [] }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, { "type": "error", "name": "InvalidToken", diff --git a/bepolia/contracts/pol/rewards/DedicatedEmissionStreamManager.json b/bepolia/contracts/pol/rewards/DedicatedEmissionStreamManager.json new file mode 100644 index 0000000..2d2d7ee --- /dev/null +++ b/bepolia/contracts/pol/rewards/DedicatedEmissionStreamManager.json @@ -0,0 +1,1258 @@ +[ + { + "type": "constructor", + "inputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ALLOCATION_MANAGER_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "DEFAULT_ADMIN_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ONE_HUNDRED_PERCENT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint96", + "internalType": "uint96" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UPGRADE_INTERFACE_VERSION", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "beraChef", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "debt", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "distributor", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "emissionPerc", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint96", + "internalType": "uint96" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMaxEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "internalType": "address" + }, + { + "name": "emission", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRewardAllocation", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IRewardAllocation.Weight[]", + "components": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "percentageNumerator", + "type": "uint96", + "internalType": "uint96" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRoleAdmin", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "grantRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "hasRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_governance", + "type": "address", + "internalType": "address" + }, + { + "name": "_distributor", + "type": "address", + "internalType": "address" + }, + { + "name": "_beraChef", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "notifyEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "proxiableUUID", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renounceRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "callerConfirmation", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revokeRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setBeraChef", + "inputs": [ + { + "name": "_beraChef", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setDistributor", + "inputs": [ + { + "name": "_distributor", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setEmissionPerc", + "inputs": [ + { + "name": "_emissionPerc", + "type": "uint96", + "internalType": "uint96" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRewardAllocation", + "inputs": [ + { + "name": "newRewardAllocation", + "type": "tuple[]", + "internalType": "struct IRewardAllocation.Weight[]", + "components": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "percentageNumerator", + "type": "uint96", + "internalType": "uint96" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "internalType": "address" + }, + { + "name": "_targetEmission", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceId", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetEmission", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "upgradeToAndCall", + "inputs": [ + { + "name": "newImplementation", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "BeraChefSet", + "inputs": [ + { + "name": "beraChef", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DistributorSet", + "inputs": [ + { + "name": "distributor", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "EmissionPercSet", + "inputs": [ + { + "name": "newEmissionPerc", + "type": "uint96", + "indexed": false, + "internalType": "uint96" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "version", + "type": "uint64", + "indexed": false, + "internalType": "uint64" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NotifyEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RewardAllocationSet", + "inputs": [ + { + "name": "newRewardAllocation", + "type": "tuple[]", + "indexed": false, + "internalType": "struct IRewardAllocation.Weight[]", + "components": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "percentageNumerator", + "type": "uint96", + "internalType": "uint96" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleAdminChanged", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "previousAdminRole", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "newAdminRole", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleGranted", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleRevoked", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetEmissionSet", + "inputs": [ + { + "name": "vault", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "targetEmission", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Upgraded", + "inputs": [ + { + "name": "implementation", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AccessControlBadConfirmation", + "inputs": [] + }, + { + "type": "error", + "name": "AccessControlUnauthorizedAccount", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "neededRole", + "type": "bytes32", + "internalType": "bytes32" + } + ] + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AmountGreaterThanReward", + "inputs": [] + }, + { + "type": "error", + "name": "AmountLessThanMinIncentiveRate", + "inputs": [] + }, + { + "type": "error", + "name": "CannotRecoverIncentiveToken", + "inputs": [] + }, + { + "type": "error", + "name": "CannotRecoverRewardToken", + "inputs": [] + }, + { + "type": "error", + "name": "CannotRecoverStakingToken", + "inputs": [] + }, + { + "type": "error", + "name": "CommissionChangeAlreadyQueued", + "inputs": [] + }, + { + "type": "error", + "name": "CommissionNotQueuedOrDelayNotPassed", + "inputs": [] + }, + { + "type": "error", + "name": "DepositNotMultipleOfGwei", + "inputs": [] + }, + { + "type": "error", + "name": "DepositValueTooHigh", + "inputs": [] + }, + { + "type": "error", + "name": "DonateAmountLessThanPayoutAmount", + "inputs": [] + }, + { + "type": "error", + "name": "DuplicateReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DurationChangeNotAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "ERC1967InvalidImplementation", + "inputs": [ + { + "name": "implementation", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC1967NonPayable", + "inputs": [] + }, + { + "type": "error", + "name": "FailedCall", + "inputs": [] + }, + { + "type": "error", + "name": "IncentiveRateTooHigh", + "inputs": [] + }, + { + "type": "error", + "name": "IndexOutOfRange", + "inputs": [] + }, + { + "type": "error", + "name": "InsolventReward", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientDelegateStake", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientDeposit", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientIncentiveTokens", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientNativeValue", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientSelfStake", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientStake", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidActivateBoostDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidArray", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBoostMultiplier", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCommissionChangeDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCommissionValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCredentialsLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDistribution", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDropBoostDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIncentiveFeeRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIncentiveRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialization", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxIncentiveTokensCount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxWeightPerVault", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMerkleRoot", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinBoostedRewardRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidProof", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPubKeyLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardAllocationInactivityBlockSpan", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardAllocationWeights", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardClaimDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardConvexity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignatureLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidStartBlock", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidWeight", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidateDefaultRewardAllocation", + "inputs": [] + }, + { + "type": "error", + "name": "InvariantCheckFailed", + "inputs": [] + }, + { + "type": "error", + "name": "LSTStakerVaultAlreadyAdded", + "inputs": [] + }, + { + "type": "error", + "name": "LSTStakerVaultNotFound", + "inputs": [] + }, + { + "type": "error", + "name": "MaxNumWeightsPerRewardAllocationIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "MethodNotAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "MinIncentiveRateIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "NonTransferable", + "inputs": [] + }, + { + "type": "error", + "name": "NotAContract", + "inputs": [] + }, + { + "type": "error", + "name": "NotApprovedSender", + "inputs": [] + }, + { + "type": "error", + "name": "NotBGT", + "inputs": [] + }, + { + "type": "error", + "name": "NotBlockRewardController", + "inputs": [] + }, + { + "type": "error", + "name": "NotDelegate", + "inputs": [] + }, + { + "type": "error", + "name": "NotDistributor", + "inputs": [] + }, + { + "type": "error", + "name": "NotEnoughBalance", + "inputs": [] + }, + { + "type": "error", + "name": "NotEnoughBoostedBalance", + "inputs": [] + }, + { + "type": "error", + "name": "NotEnoughTime", + "inputs": [] + }, + { + "type": "error", + "name": "NotFactoryVault", + "inputs": [] + }, + { + "type": "error", + "name": "NotFeeCollector", + "inputs": [] + }, + { + "type": "error", + "name": "NotIncentiveManager", + "inputs": [] + }, + { + "type": "error", + "name": "NotInitializing", + "inputs": [] + }, + { + "type": "error", + "name": "NotNewOperator", + "inputs": [] + }, + { + "type": "error", + "name": "NotOperator", + "inputs": [] + }, + { + "type": "error", + "name": "NotRewardAllocator", + "inputs": [] + }, + { + "type": "error", + "name": "NotRewardDurationManager", + "inputs": [] + }, + { + "type": "error", + "name": "NotRewardVaultManager", + "inputs": [] + }, + { + "type": "error", + "name": "NotStakerVault", + "inputs": [] + }, + { + "type": "error", + "name": "NotSystemAddress", + "inputs": [] + }, + { + "type": "error", + "name": "NotWBERAStakerVault", + "inputs": [] + }, + { + "type": "error", + "name": "NotWhitelistedVault", + "inputs": [] + }, + { + "type": "error", + "name": "OnlyNFTOwnerAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "OnlySystemCallAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "OperatorAlreadySet", + "inputs": [] + }, + { + "type": "error", + "name": "PayoutAmountIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "RewardAllocationAlreadyQueued", + "inputs": [] + }, + { + "type": "error", + "name": "RewardAllocationBlockDelayTooLarge", + "inputs": [] + }, + { + "type": "error", + "name": "RewardCycleNotEnded", + "inputs": [] + }, + { + "type": "error", + "name": "RewardDurationCoolDownPeriodNotPassed", + "inputs": [] + }, + { + "type": "error", + "name": "RewardInactive", + "inputs": [] + }, + { + "type": "error", + "name": "RewardsDurationIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "StakeAmountIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "TimestampAlreadyProcessed", + "inputs": [] + }, + { + "type": "error", + "name": "TokenAlreadyWhitelistedOrLimitReached", + "inputs": [] + }, + { + "type": "error", + "name": "TokenNotWhitelisted", + "inputs": [] + }, + { + "type": "error", + "name": "TooManyWeights", + "inputs": [] + }, + { + "type": "error", + "name": "TotalSupplyOverflow", + "inputs": [] + }, + { + "type": "error", + "name": "UUPSUnauthorizedCallContext", + "inputs": [] + }, + { + "type": "error", + "name": "UUPSUnsupportedProxiableUUID", + "inputs": [ + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + } + ] + }, + { + "type": "error", + "name": "UnauthorizedETHTransfer", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawAmountIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawalAlreadyRequested", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawalNotReady", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawalNotRequested", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroOperatorOnFirstDeposit", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroPercentageWeight", + "inputs": [] + } +] diff --git a/bepolia/contracts/pol/rewards/Distributor.json b/bepolia/contracts/pol/rewards/Distributor.json index 878981d..73cca7a 100644 --- a/bepolia/contracts/pol/rewards/Distributor.json +++ b/bepolia/contracts/pol/rewards/Distributor.json @@ -82,6 +82,19 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "dedicatedEmissionStreamManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IDedicatedEmissionStreamManager" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "distributeFor", @@ -327,6 +340,19 @@ "outputs": [], "stateMutability": "nonpayable" }, + { + "type": "function", + "name": "setDedicatedEmissionStreamManager", + "inputs": [ + { + "name": "_dedicatedEmissionStreamManager", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, { "type": "function", "name": "setProposerIndexGIndex", @@ -403,6 +429,25 @@ ], "stateMutability": "view" }, + { + "type": "event", + "name": "DedicatedEmissionStreamManagerSet", + "inputs": [ + { + "name": "oldDedicatedEmissionStreamManager", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newDedicatedEmissionStreamManager", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, { "type": "event", "name": "Distributed", @@ -783,6 +828,11 @@ "name": "InvalidDropBoostDelay", "inputs": [] }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, { "type": "error", "name": "InvalidIncentiveFeeRate", @@ -868,6 +918,11 @@ "name": "InvalidStartBlock", "inputs": [] }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, { "type": "error", "name": "InvalidToken", diff --git a/bepolia/contracts/pol/rewards/RewardAllocatorFactory.json b/bepolia/contracts/pol/rewards/RewardAllocatorFactory.json index 5aaf04c..eb749bd 100644 --- a/bepolia/contracts/pol/rewards/RewardAllocatorFactory.json +++ b/bepolia/contracts/pol/rewards/RewardAllocatorFactory.json @@ -64,7 +64,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -74,7 +74,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -228,7 +228,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -291,7 +291,7 @@ "name": "weights", "type": "tuple[]", "indexed": false, - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -618,6 +618,11 @@ "name": "InvalidDropBoostDelay", "inputs": [] }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, { "type": "error", "name": "InvalidIncentiveFeeRate", @@ -703,6 +708,11 @@ "name": "InvalidStartBlock", "inputs": [] }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, { "type": "error", "name": "InvalidToken", diff --git a/mainnet/contracts/pol/DedicatedEmissionStreamManagerDeployer.json b/mainnet/contracts/pol/DedicatedEmissionStreamManagerDeployer.json new file mode 100644 index 0000000..decc1d5 --- /dev/null +++ b/mainnet/contracts/pol/DedicatedEmissionStreamManagerDeployer.json @@ -0,0 +1,71 @@ +[ + { + "type": "constructor", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "distributor", + "type": "address", + "internalType": "address" + }, + { + "name": "beraChef", + "type": "address", + "internalType": "address" + }, + { + "name": "dedicatedEmissionStreamManagerSalt", + "type": "tuple", + "internalType": "struct Salt", + "components": [ + { + "name": "proxy", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "implementation", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_CREATE2_FACTORY", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "dedicatedEmissionStreamManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract DedicatedEmissionStreamManager" + } + ], + "stateMutability": "view" + }, + { + "type": "error", + "name": "DeploymentFailed", + "inputs": [] + } +] diff --git a/mainnet/contracts/pol/interfaces/IBeraChef.json b/mainnet/contracts/pol/interfaces/IBeraChef.json index 641a919..4efd8bc 100644 --- a/mainnet/contracts/pol/interfaces/IBeraChef.json +++ b/mainnet/contracts/pol/interfaces/IBeraChef.json @@ -39,7 +39,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -49,7 +49,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -76,7 +76,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -86,7 +86,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -119,7 +119,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -129,7 +129,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -162,7 +162,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -172,7 +172,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -302,6 +302,25 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "isWhitelistedVault", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "maxWeightPerVault", @@ -332,7 +351,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -388,7 +407,7 @@ { "name": "rewardAllocation", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -398,7 +417,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -549,7 +568,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -587,7 +606,7 @@ "name": "weights", "type": "tuple[]", "indexed": false, - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -663,7 +682,7 @@ "name": "weights", "type": "tuple[]", "indexed": false, - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -752,7 +771,7 @@ "name": "rewardAllocation", "type": "tuple", "indexed": false, - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -762,7 +781,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -1025,6 +1044,11 @@ "name": "InvalidDropBoostDelay", "inputs": [] }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, { "type": "error", "name": "InvalidIncentiveFeeRate", @@ -1105,6 +1129,11 @@ "name": "InvalidStartBlock", "inputs": [] }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, { "type": "error", "name": "InvalidToken", diff --git a/mainnet/contracts/pol/interfaces/IDedicatedEmissionStreamManager.json b/mainnet/contracts/pol/interfaces/IDedicatedEmissionStreamManager.json new file mode 100644 index 0000000..5c6a382 --- /dev/null +++ b/mainnet/contracts/pol/interfaces/IDedicatedEmissionStreamManager.json @@ -0,0 +1,787 @@ +[ + { + "type": "function", + "name": "emissionPerc", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint96", + "internalType": "uint96" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMaxEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "internalType": "address" + }, + { + "name": "emission", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRewardAllocation", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IRewardAllocation.Weight[]", + "components": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "percentageNumerator", + "type": "uint96", + "internalType": "uint96" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "notifyEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setBeraChef", + "inputs": [ + { + "name": "_beraChef", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setDistributor", + "inputs": [ + { + "name": "_distributor", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setEmissionPerc", + "inputs": [ + { + "name": "_emissionPerc", + "type": "uint96", + "internalType": "uint96" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRewardAllocation", + "inputs": [ + { + "name": "_rewardAllocation", + "type": "tuple[]", + "internalType": "struct IRewardAllocation.Weight[]", + "components": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "percentageNumerator", + "type": "uint96", + "internalType": "uint96" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "internalType": "address" + }, + { + "name": "_targetEmission", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "BeraChefSet", + "inputs": [ + { + "name": "beraChef", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DistributorSet", + "inputs": [ + { + "name": "distributor", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "EmissionPercSet", + "inputs": [ + { + "name": "newEmissionPerc", + "type": "uint96", + "indexed": false, + "internalType": "uint96" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NotifyEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RewardAllocationSet", + "inputs": [ + { + "name": "newRewardAllocation", + "type": "tuple[]", + "indexed": false, + "internalType": "struct IRewardAllocation.Weight[]", + "components": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "percentageNumerator", + "type": "uint96", + "internalType": "uint96" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetEmissionSet", + "inputs": [ + { + "name": "vault", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "targetEmission", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AmountGreaterThanReward", + "inputs": [] + }, + { + "type": "error", + "name": "AmountLessThanMinIncentiveRate", + "inputs": [] + }, + { + "type": "error", + "name": "CannotRecoverIncentiveToken", + "inputs": [] + }, + { + "type": "error", + "name": "CannotRecoverRewardToken", + "inputs": [] + }, + { + "type": "error", + "name": "CannotRecoverStakingToken", + "inputs": [] + }, + { + "type": "error", + "name": "CommissionChangeAlreadyQueued", + "inputs": [] + }, + { + "type": "error", + "name": "CommissionNotQueuedOrDelayNotPassed", + "inputs": [] + }, + { + "type": "error", + "name": "DepositNotMultipleOfGwei", + "inputs": [] + }, + { + "type": "error", + "name": "DepositValueTooHigh", + "inputs": [] + }, + { + "type": "error", + "name": "DonateAmountLessThanPayoutAmount", + "inputs": [] + }, + { + "type": "error", + "name": "DuplicateReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DurationChangeNotAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "IncentiveRateTooHigh", + "inputs": [] + }, + { + "type": "error", + "name": "IndexOutOfRange", + "inputs": [] + }, + { + "type": "error", + "name": "InsolventReward", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientDelegateStake", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientDeposit", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientIncentiveTokens", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientNativeValue", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientSelfStake", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientStake", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidActivateBoostDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidArray", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBoostMultiplier", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCommissionChangeDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCommissionValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCredentialsLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDistribution", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDropBoostDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIncentiveFeeRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIncentiveRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxIncentiveTokensCount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxWeightPerVault", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMerkleRoot", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinBoostedRewardRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidProof", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPubKeyLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardAllocationInactivityBlockSpan", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardAllocationWeights", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardClaimDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardConvexity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignatureLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidStartBlock", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidWeight", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidateDefaultRewardAllocation", + "inputs": [] + }, + { + "type": "error", + "name": "InvariantCheckFailed", + "inputs": [] + }, + { + "type": "error", + "name": "LSTStakerVaultAlreadyAdded", + "inputs": [] + }, + { + "type": "error", + "name": "LSTStakerVaultNotFound", + "inputs": [] + }, + { + "type": "error", + "name": "MaxNumWeightsPerRewardAllocationIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "MethodNotAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "MinIncentiveRateIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "NonTransferable", + "inputs": [] + }, + { + "type": "error", + "name": "NotAContract", + "inputs": [] + }, + { + "type": "error", + "name": "NotApprovedSender", + "inputs": [] + }, + { + "type": "error", + "name": "NotBGT", + "inputs": [] + }, + { + "type": "error", + "name": "NotBlockRewardController", + "inputs": [] + }, + { + "type": "error", + "name": "NotDelegate", + "inputs": [] + }, + { + "type": "error", + "name": "NotDistributor", + "inputs": [] + }, + { + "type": "error", + "name": "NotEnoughBalance", + "inputs": [] + }, + { + "type": "error", + "name": "NotEnoughBoostedBalance", + "inputs": [] + }, + { + "type": "error", + "name": "NotEnoughTime", + "inputs": [] + }, + { + "type": "error", + "name": "NotFactoryVault", + "inputs": [] + }, + { + "type": "error", + "name": "NotFeeCollector", + "inputs": [] + }, + { + "type": "error", + "name": "NotIncentiveManager", + "inputs": [] + }, + { + "type": "error", + "name": "NotNewOperator", + "inputs": [] + }, + { + "type": "error", + "name": "NotOperator", + "inputs": [] + }, + { + "type": "error", + "name": "NotRewardAllocator", + "inputs": [] + }, + { + "type": "error", + "name": "NotRewardDurationManager", + "inputs": [] + }, + { + "type": "error", + "name": "NotRewardVaultManager", + "inputs": [] + }, + { + "type": "error", + "name": "NotStakerVault", + "inputs": [] + }, + { + "type": "error", + "name": "NotSystemAddress", + "inputs": [] + }, + { + "type": "error", + "name": "NotWBERAStakerVault", + "inputs": [] + }, + { + "type": "error", + "name": "NotWhitelistedVault", + "inputs": [] + }, + { + "type": "error", + "name": "OnlyNFTOwnerAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "OnlySystemCallAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "OperatorAlreadySet", + "inputs": [] + }, + { + "type": "error", + "name": "PayoutAmountIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "RewardAllocationAlreadyQueued", + "inputs": [] + }, + { + "type": "error", + "name": "RewardAllocationBlockDelayTooLarge", + "inputs": [] + }, + { + "type": "error", + "name": "RewardCycleNotEnded", + "inputs": [] + }, + { + "type": "error", + "name": "RewardDurationCoolDownPeriodNotPassed", + "inputs": [] + }, + { + "type": "error", + "name": "RewardInactive", + "inputs": [] + }, + { + "type": "error", + "name": "RewardsDurationIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "StakeAmountIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "TimestampAlreadyProcessed", + "inputs": [] + }, + { + "type": "error", + "name": "TokenAlreadyWhitelistedOrLimitReached", + "inputs": [] + }, + { + "type": "error", + "name": "TokenNotWhitelisted", + "inputs": [] + }, + { + "type": "error", + "name": "TooManyWeights", + "inputs": [] + }, + { + "type": "error", + "name": "TotalSupplyOverflow", + "inputs": [] + }, + { + "type": "error", + "name": "UnauthorizedETHTransfer", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawAmountIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawalAlreadyRequested", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawalNotReady", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawalNotRequested", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroOperatorOnFirstDeposit", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroPercentageWeight", + "inputs": [] + } +] diff --git a/mainnet/contracts/pol/interfaces/IDistributor.json b/mainnet/contracts/pol/interfaces/IDistributor.json index 2da0cf0..7798232 100644 --- a/mainnet/contracts/pol/interfaces/IDistributor.json +++ b/mainnet/contracts/pol/interfaces/IDistributor.json @@ -12,6 +12,19 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "dedicatedEmissionStreamManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IDedicatedEmissionStreamManager" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "distributeFor", @@ -58,6 +71,38 @@ "outputs": [], "stateMutability": "nonpayable" }, + { + "type": "function", + "name": "setDedicatedEmissionStreamManager", + "inputs": [ + { + "name": "_dedicatedEmissionStreamManager", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "DedicatedEmissionStreamManagerSet", + "inputs": [ + { + "name": "oldDedicatedEmissionStreamManager", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newDedicatedEmissionStreamManager", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, { "type": "event", "name": "Distributed", @@ -245,6 +290,11 @@ "name": "InvalidDropBoostDelay", "inputs": [] }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, { "type": "error", "name": "InvalidIncentiveFeeRate", @@ -325,6 +375,11 @@ "name": "InvalidStartBlock", "inputs": [] }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, { "type": "error", "name": "InvalidToken", diff --git a/mainnet/contracts/pol/interfaces/IRewardAllocation.json b/mainnet/contracts/pol/interfaces/IRewardAllocation.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/mainnet/contracts/pol/interfaces/IRewardAllocation.json @@ -0,0 +1 @@ +[] diff --git a/mainnet/contracts/pol/interfaces/IRewardAllocatorFactory.json b/mainnet/contracts/pol/interfaces/IRewardAllocatorFactory.json index ffae373..5f72560 100644 --- a/mainnet/contracts/pol/interfaces/IRewardAllocatorFactory.json +++ b/mainnet/contracts/pol/interfaces/IRewardAllocatorFactory.json @@ -7,7 +7,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -17,7 +17,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -43,7 +43,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -69,7 +69,7 @@ "name": "weights", "type": "tuple[]", "indexed": false, - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -242,6 +242,11 @@ "name": "InvalidDropBoostDelay", "inputs": [] }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, { "type": "error", "name": "InvalidIncentiveFeeRate", @@ -322,6 +327,11 @@ "name": "InvalidStartBlock", "inputs": [] }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, { "type": "error", "name": "InvalidToken", diff --git a/mainnet/contracts/pol/rewards/BeraChef.json b/mainnet/contracts/pol/rewards/BeraChef.json index ebacd37..2c24537 100644 --- a/mainnet/contracts/pol/rewards/BeraChef.json +++ b/mainnet/contracts/pol/rewards/BeraChef.json @@ -148,7 +148,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -158,7 +158,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -185,7 +185,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -195,7 +195,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -228,7 +228,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -238,7 +238,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -271,7 +271,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -281,7 +281,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -532,7 +532,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -634,7 +634,7 @@ { "name": "ra", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -644,7 +644,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -845,7 +845,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -883,7 +883,7 @@ "name": "weights", "type": "tuple[]", "indexed": false, - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -991,7 +991,7 @@ "name": "weights", "type": "tuple[]", "indexed": false, - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -1080,7 +1080,7 @@ "name": "rewardAllocation", "type": "tuple", "indexed": false, - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -1090,7 +1090,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -1398,6 +1398,11 @@ "name": "InvalidDropBoostDelay", "inputs": [] }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, { "type": "error", "name": "InvalidIncentiveFeeRate", @@ -1483,6 +1488,11 @@ "name": "InvalidStartBlock", "inputs": [] }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, { "type": "error", "name": "InvalidToken", diff --git a/mainnet/contracts/pol/rewards/DedicatedEmissionStreamManager.json b/mainnet/contracts/pol/rewards/DedicatedEmissionStreamManager.json new file mode 100644 index 0000000..2d2d7ee --- /dev/null +++ b/mainnet/contracts/pol/rewards/DedicatedEmissionStreamManager.json @@ -0,0 +1,1258 @@ +[ + { + "type": "constructor", + "inputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ALLOCATION_MANAGER_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "DEFAULT_ADMIN_ROLE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ONE_HUNDRED_PERCENT", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint96", + "internalType": "uint96" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UPGRADE_INTERFACE_VERSION", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "beraChef", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "debt", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "distributor", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "emissionPerc", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint96", + "internalType": "uint96" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getMaxEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "internalType": "address" + }, + { + "name": "emission", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRewardAllocation", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IRewardAllocation.Weight[]", + "components": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "percentageNumerator", + "type": "uint96", + "internalType": "uint96" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getRoleAdmin", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "grantRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "hasRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "_governance", + "type": "address", + "internalType": "address" + }, + { + "name": "_distributor", + "type": "address", + "internalType": "address" + }, + { + "name": "_beraChef", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "notifyEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "proxiableUUID", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "renounceRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "callerConfirmation", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revokeRole", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setBeraChef", + "inputs": [ + { + "name": "_beraChef", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setDistributor", + "inputs": [ + { + "name": "_distributor", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setEmissionPerc", + "inputs": [ + { + "name": "_emissionPerc", + "type": "uint96", + "internalType": "uint96" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setRewardAllocation", + "inputs": [ + { + "name": "newRewardAllocation", + "type": "tuple[]", + "internalType": "struct IRewardAllocation.Weight[]", + "components": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "percentageNumerator", + "type": "uint96", + "internalType": "uint96" + } + ] + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setTargetEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "internalType": "address" + }, + { + "name": "_targetEmission", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceId", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "targetEmission", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "upgradeToAndCall", + "inputs": [ + { + "name": "newImplementation", + "type": "address", + "internalType": "address" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "BeraChefSet", + "inputs": [ + { + "name": "beraChef", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DistributorSet", + "inputs": [ + { + "name": "distributor", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "EmissionPercSet", + "inputs": [ + { + "name": "newEmissionPerc", + "type": "uint96", + "indexed": false, + "internalType": "uint96" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { + "name": "version", + "type": "uint64", + "indexed": false, + "internalType": "uint64" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "NotifyEmission", + "inputs": [ + { + "name": "vault", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RewardAllocationSet", + "inputs": [ + { + "name": "newRewardAllocation", + "type": "tuple[]", + "indexed": false, + "internalType": "struct IRewardAllocation.Weight[]", + "components": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + }, + { + "name": "percentageNumerator", + "type": "uint96", + "internalType": "uint96" + } + ] + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleAdminChanged", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "previousAdminRole", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "newAdminRole", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleGranted", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RoleRevoked", + "inputs": [ + { + "name": "role", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + }, + { + "name": "account", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "sender", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TargetEmissionSet", + "inputs": [ + { + "name": "vault", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "targetEmission", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Upgraded", + "inputs": [ + { + "name": "implementation", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AccessControlBadConfirmation", + "inputs": [] + }, + { + "type": "error", + "name": "AccessControlUnauthorizedAccount", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "neededRole", + "type": "bytes32", + "internalType": "bytes32" + } + ] + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [ + { + "name": "target", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "AmountGreaterThanReward", + "inputs": [] + }, + { + "type": "error", + "name": "AmountLessThanMinIncentiveRate", + "inputs": [] + }, + { + "type": "error", + "name": "CannotRecoverIncentiveToken", + "inputs": [] + }, + { + "type": "error", + "name": "CannotRecoverRewardToken", + "inputs": [] + }, + { + "type": "error", + "name": "CannotRecoverStakingToken", + "inputs": [] + }, + { + "type": "error", + "name": "CommissionChangeAlreadyQueued", + "inputs": [] + }, + { + "type": "error", + "name": "CommissionNotQueuedOrDelayNotPassed", + "inputs": [] + }, + { + "type": "error", + "name": "DepositNotMultipleOfGwei", + "inputs": [] + }, + { + "type": "error", + "name": "DepositValueTooHigh", + "inputs": [] + }, + { + "type": "error", + "name": "DonateAmountLessThanPayoutAmount", + "inputs": [] + }, + { + "type": "error", + "name": "DuplicateReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "DurationChangeNotAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "ERC1967InvalidImplementation", + "inputs": [ + { + "name": "implementation", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC1967NonPayable", + "inputs": [] + }, + { + "type": "error", + "name": "FailedCall", + "inputs": [] + }, + { + "type": "error", + "name": "IncentiveRateTooHigh", + "inputs": [] + }, + { + "type": "error", + "name": "IndexOutOfRange", + "inputs": [] + }, + { + "type": "error", + "name": "InsolventReward", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientDelegateStake", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientDeposit", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientIncentiveTokens", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientNativeValue", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientSelfStake", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientStake", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidActivateBoostDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidArray", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBaseRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidBoostMultiplier", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCommissionChangeDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCommissionValue", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidCredentialsLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDistribution", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidDropBoostDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIncentiveFeeRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIncentiveRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidInitialization", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxIncentiveTokensCount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMaxWeightPerVault", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMerkleRoot", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidMinBoostedRewardRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidProof", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidPubKeyLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardAllocationInactivityBlockSpan", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardAllocationWeights", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardClaimDelay", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardConvexity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardDuration", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidRewardRate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidSignatureLength", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidStartBlock", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidToken", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidWeight", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidateDefaultRewardAllocation", + "inputs": [] + }, + { + "type": "error", + "name": "InvariantCheckFailed", + "inputs": [] + }, + { + "type": "error", + "name": "LSTStakerVaultAlreadyAdded", + "inputs": [] + }, + { + "type": "error", + "name": "LSTStakerVaultNotFound", + "inputs": [] + }, + { + "type": "error", + "name": "MaxNumWeightsPerRewardAllocationIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "MethodNotAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "MinIncentiveRateIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "NonTransferable", + "inputs": [] + }, + { + "type": "error", + "name": "NotAContract", + "inputs": [] + }, + { + "type": "error", + "name": "NotApprovedSender", + "inputs": [] + }, + { + "type": "error", + "name": "NotBGT", + "inputs": [] + }, + { + "type": "error", + "name": "NotBlockRewardController", + "inputs": [] + }, + { + "type": "error", + "name": "NotDelegate", + "inputs": [] + }, + { + "type": "error", + "name": "NotDistributor", + "inputs": [] + }, + { + "type": "error", + "name": "NotEnoughBalance", + "inputs": [] + }, + { + "type": "error", + "name": "NotEnoughBoostedBalance", + "inputs": [] + }, + { + "type": "error", + "name": "NotEnoughTime", + "inputs": [] + }, + { + "type": "error", + "name": "NotFactoryVault", + "inputs": [] + }, + { + "type": "error", + "name": "NotFeeCollector", + "inputs": [] + }, + { + "type": "error", + "name": "NotIncentiveManager", + "inputs": [] + }, + { + "type": "error", + "name": "NotInitializing", + "inputs": [] + }, + { + "type": "error", + "name": "NotNewOperator", + "inputs": [] + }, + { + "type": "error", + "name": "NotOperator", + "inputs": [] + }, + { + "type": "error", + "name": "NotRewardAllocator", + "inputs": [] + }, + { + "type": "error", + "name": "NotRewardDurationManager", + "inputs": [] + }, + { + "type": "error", + "name": "NotRewardVaultManager", + "inputs": [] + }, + { + "type": "error", + "name": "NotStakerVault", + "inputs": [] + }, + { + "type": "error", + "name": "NotSystemAddress", + "inputs": [] + }, + { + "type": "error", + "name": "NotWBERAStakerVault", + "inputs": [] + }, + { + "type": "error", + "name": "NotWhitelistedVault", + "inputs": [] + }, + { + "type": "error", + "name": "OnlyNFTOwnerAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "OnlySystemCallAllowed", + "inputs": [] + }, + { + "type": "error", + "name": "OperatorAlreadySet", + "inputs": [] + }, + { + "type": "error", + "name": "PayoutAmountIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "RewardAllocationAlreadyQueued", + "inputs": [] + }, + { + "type": "error", + "name": "RewardAllocationBlockDelayTooLarge", + "inputs": [] + }, + { + "type": "error", + "name": "RewardCycleNotEnded", + "inputs": [] + }, + { + "type": "error", + "name": "RewardDurationCoolDownPeriodNotPassed", + "inputs": [] + }, + { + "type": "error", + "name": "RewardInactive", + "inputs": [] + }, + { + "type": "error", + "name": "RewardsDurationIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "StakeAmountIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "TimestampAlreadyProcessed", + "inputs": [] + }, + { + "type": "error", + "name": "TokenAlreadyWhitelistedOrLimitReached", + "inputs": [] + }, + { + "type": "error", + "name": "TokenNotWhitelisted", + "inputs": [] + }, + { + "type": "error", + "name": "TooManyWeights", + "inputs": [] + }, + { + "type": "error", + "name": "TotalSupplyOverflow", + "inputs": [] + }, + { + "type": "error", + "name": "UUPSUnauthorizedCallContext", + "inputs": [] + }, + { + "type": "error", + "name": "UUPSUnsupportedProxiableUUID", + "inputs": [ + { + "name": "slot", + "type": "bytes32", + "internalType": "bytes32" + } + ] + }, + { + "type": "error", + "name": "UnauthorizedETHTransfer", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawAmountIsZero", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawalAlreadyRequested", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawalNotReady", + "inputs": [] + }, + { + "type": "error", + "name": "WithdrawalNotRequested", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroOperatorOnFirstDeposit", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroPercentageWeight", + "inputs": [] + } +] diff --git a/mainnet/contracts/pol/rewards/Distributor.json b/mainnet/contracts/pol/rewards/Distributor.json index 878981d..73cca7a 100644 --- a/mainnet/contracts/pol/rewards/Distributor.json +++ b/mainnet/contracts/pol/rewards/Distributor.json @@ -82,6 +82,19 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "dedicatedEmissionStreamManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract IDedicatedEmissionStreamManager" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "distributeFor", @@ -327,6 +340,19 @@ "outputs": [], "stateMutability": "nonpayable" }, + { + "type": "function", + "name": "setDedicatedEmissionStreamManager", + "inputs": [ + { + "name": "_dedicatedEmissionStreamManager", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, { "type": "function", "name": "setProposerIndexGIndex", @@ -403,6 +429,25 @@ ], "stateMutability": "view" }, + { + "type": "event", + "name": "DedicatedEmissionStreamManagerSet", + "inputs": [ + { + "name": "oldDedicatedEmissionStreamManager", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "newDedicatedEmissionStreamManager", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, { "type": "event", "name": "Distributed", @@ -783,6 +828,11 @@ "name": "InvalidDropBoostDelay", "inputs": [] }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, { "type": "error", "name": "InvalidIncentiveFeeRate", @@ -868,6 +918,11 @@ "name": "InvalidStartBlock", "inputs": [] }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, { "type": "error", "name": "InvalidToken", diff --git a/mainnet/contracts/pol/rewards/RewardAllocatorFactory.json b/mainnet/contracts/pol/rewards/RewardAllocatorFactory.json index 5aaf04c..eb749bd 100644 --- a/mainnet/contracts/pol/rewards/RewardAllocatorFactory.json +++ b/mainnet/contracts/pol/rewards/RewardAllocatorFactory.json @@ -64,7 +64,7 @@ { "name": "", "type": "tuple", - "internalType": "struct IBeraChef.RewardAllocation", + "internalType": "struct IRewardAllocation.RewardAllocation", "components": [ { "name": "startBlock", @@ -74,7 +74,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -228,7 +228,7 @@ { "name": "weights", "type": "tuple[]", - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -291,7 +291,7 @@ "name": "weights", "type": "tuple[]", "indexed": false, - "internalType": "struct IBeraChef.Weight[]", + "internalType": "struct IRewardAllocation.Weight[]", "components": [ { "name": "receiver", @@ -618,6 +618,11 @@ "name": "InvalidDropBoostDelay", "inputs": [] }, + { + "type": "error", + "name": "InvalidEmissionPerc", + "inputs": [] + }, { "type": "error", "name": "InvalidIncentiveFeeRate", @@ -703,6 +708,11 @@ "name": "InvalidStartBlock", "inputs": [] }, + { + "type": "error", + "name": "InvalidTargetEmission", + "inputs": [] + }, { "type": "error", "name": "InvalidToken",