Skip to content

Commit

Permalink
Merge branch 'master' into shah/remove-dai-add-usds
Browse files Browse the repository at this point in the history
  • Loading branch information
shahthepro committed Feb 25, 2025
2 parents 9b038c9 + 46bb681 commit 4cb8600
Show file tree
Hide file tree
Showing 30 changed files with 1,972 additions and 405 deletions.
113 changes: 113 additions & 0 deletions contracts/PoolBoosterFactorySwapxDoubleStorage.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
113 changes: 113 additions & 0 deletions contracts/PoolBoosterFactorySwapxSingleStorage.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

interface IPoolBoostCentralRegistry {
/**
* @dev all the supported pool booster types are listed here. It is possible
* to have multiple versions of the factory that supports the same type of
* pool booster. Factories are immutable and this can happen when a factory
* or related pool booster required code update.
* e.g. "PoolBoosterSwapxDouble" & "PoolBoosterSwapxDouble_v2"
*/
enum PoolBoosterType {
// Supports bribing 2 contracts per pool. Appropriate for Ichi vault concentrated
// liquidity pools where (which is expected in most/all cases) both pool gauges
// require bribing.
SwapXDoubleBooster,
// Supports bribing a single contract per pool. Appropriate for Classic Stable &
// Classic Volatile pools and Ichi vaults where only 1 side (1 of the 2 gauges)
// needs bribing
SwapXSingleBooster
}

struct PoolBoosterEntry {
address boosterAddress;
address ammPoolAddress;
PoolBoosterType boosterType;
}

event PoolBoosterCreated(
address poolBoosterAddress,
address ammPoolAddress,
PoolBoosterType poolBoosterType,
address factoryAddress
);
event PoolBoosterRemoved(address poolBoosterAddress);

function emitPoolBoosterCreated(
address _poolBoosterAddress,
address _ammPoolAddress,
PoolBoosterType _boosterType
) external;

function emitPoolBoosterRemoved(address _poolBoosterAddress) external;
}
9 changes: 9 additions & 0 deletions contracts/contracts/interfaces/poolBooster/IPoolBooster.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

interface IPoolBooster {
event BribeExecuted(uint256 amount);

/// @notice Execute the bribe action
function bribe() external;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

interface IBribe {
/// @notice Notify a bribe amount
/// @dev Rewards are saved into NEXT EPOCH mapping.
function notifyRewardAmount(address _rewardsToken, uint256 reward) external;
}
Loading

0 comments on commit 4cb8600

Please sign in to comment.