Source Code
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
Contract Name:
RaDirectIncentiveHandler
Compiler Version
v0.8.21+commit.d9974bed
Optimization Enabled:
No with 2000 runs
Other Settings:
london EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity ^0.8.19;
// ====================================================================
// | ______ _______ |
// | / _____________ __ __ / ____(_____ ____ _____ ________ |
// | / /_ / ___/ __ `| |/_/ / /_ / / __ \/ __ `/ __ \/ ___/ _ \ |
// | / __/ / / / /_/ _> < / __/ / / / / / /_/ / / / / /__/ __/ |
// | /_/ /_/ \__,_/_/|_| /_/ /_/_/ /_/\__,_/_/ /_/\___/\___/ |
// | |
// ====================================================================
// ================= RaDirectIncentiveHandler =========================
// ====================================================================
// Frax Finance: https://github.com/FraxFinance
// Primary Author(s)
// Amirnader Aghayeghazvini: https://github.com/amirnader-ghazvini
import "../interfaces/IRaVoter.sol";
contract RaDirectIncentiveHandler {
/* ================================================== FUNCTIONS ========================================================= */
/// @notice Function to deposit incentives for one pool
/// @param poolAddress Address of liquidity pool
/// @param gaugeAddress Address of liquidity pool's gauge
/// @param incentivePoolAddress Contract that handle incentive distribution e.g. Bribe contract
/// @param incentiveTokenAddress Address of Token that AMO uses as an incentive (e.g. FXS)
/// @param indexId Pool ID in Votium or Votemarket platforms
/// @param amount Amount of incentives to be deposited
function incentivizePool(
address poolAddress,
address gaugeAddress,
address incentivePoolAddress,
address incentiveTokenAddress,
uint256 indexId,
uint256 amount) external
{
IRaVoter incentivizerContract = IRaVoter(incentivePoolAddress);
incentivizerContract.notifyRewardForGauge(gaugeAddress, incentiveTokenAddress, amount);
}
}// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.19;
interface IRaVoter {
function BASIS ( ) external view returns ( uint256 );
function _ve ( ) external view returns ( address );
function base ( ) external view returns ( address );
function clFactory ( ) external view returns ( address );
function clGaugeFactory ( ) external view returns ( address );
function claimClGaugeRewards ( address[] memory _gauges, address[][] memory _tokens, uint256[][] memory _nfpTokenIds ) external;
function claimFees ( address[] memory _fees, address[][] memory _tokens, uint256 _tokenId ) external;
function claimIncentives ( address[] memory _incentives, address[][] memory _tokens, uint256 _tokenId ) external;
function claimRewards ( address[] memory _gauges, address[][] memory _tokens ) external;
function claimable ( address ) external view returns ( uint256 );
function createCLGauge ( address tokenA, address tokenB, uint24 fee ) external returns ( address );
function createGauge ( address _pool ) external returns ( address );
function distribute ( address _gauge ) external;
function distributeAllUnchecked ( ) external;
function distributeFees ( address[] memory _gauges ) external;
function distributeGaugeUnchecked ( address[] memory _gauges ) external;
function distributeRangeUnchecked ( uint256 start, uint256 finish ) external;
function emergencyCouncil ( ) external view returns ( address );
function emitDeposit ( address account, uint256 amount ) external;
function emitWithdraw ( address account, uint256 amount ) external;
function factory ( ) external view returns ( address );
function feeDistributorFactory ( ) external view returns ( address );
function feeDistributors ( address ) external view returns ( address );
function forbid ( address _token, bool forbidden ) external;
function gaugeXRatio ( address gauge ) external view returns ( uint256 );
function gaugefactory ( ) external view returns ( address );
function gauges ( address ) external view returns ( address );
function getVotes ( uint256 fromTokenId, uint256 toTokenId ) external view returns ( address[][] memory tokensVotes, uint256[][] memory tokensWeights );
function governor ( ) external view returns ( address );
function initialize ( address __ve, address _factory, address _gauges, address _feeDistributorFactory, address _minter, address _msig, address[] memory _tokens, address _clFactory, address _clGaugeFactory, address _nfpManager, address _xToken ) external;
function isAlive ( address ) external view returns ( bool );
function isForbidden ( address ) external view returns ( bool );
function isGauge ( address ) external view returns ( bool );
function isWhitelisted ( address ) external view returns ( bool );
function killGauge ( address _gauge ) external;
function lastVoted ( uint256 ) external view returns ( uint256 );
function length ( ) external view returns ( uint256 );
function minter ( ) external view returns ( address );
function nfpManager ( ) external view returns ( address );
function notifyRewardAmount ( uint256 amount ) external;
function notifyRewardForGauge ( address _gauge, address _token, uint256 _amount ) external;
function notifyRewardsForGauge ( address _gauge, address[] memory _tokens, uint256[] memory _amounts ) external;
function poke ( uint256 _tokenId ) external;
function poolForGauge ( address ) external view returns ( address );
function poolVote ( uint256, uint256 ) external view returns ( address );
function pools ( uint256 ) external view returns ( address );
function recoverFees ( address[] memory fees, address[][] memory tokens ) external;
function removeGaugeReward ( address _gauge, address _reward ) external;
function reset ( uint256 _tokenId ) external;
function resetGaugeXRatio ( address[] memory _gauges ) external;
function reviveGauge ( address _gauge ) external;
function setEmergencyCouncil ( address _council ) external;
function setGaugeXRatio ( address[] memory _gauges, uint256[] memory _xRatios ) external;
function setGovernor ( address _governor ) external;
function setWhitelistOperator ( address _whitelistOperator ) external;
function setXRatio ( uint256 _xRatio ) external;
function stuckEmissionsRecovery ( address _gauge ) external;
function timelock ( ) external view returns ( address );
function totalWeight ( ) external view returns ( uint256 );
function updateAll ( ) external;
function updateFor ( address[] memory _gauges ) external;
function updateForRange ( uint256 start, uint256 end ) external;
function updateGauge ( address _gauge ) external;
function usedWeights ( uint256 ) external view returns ( uint256 );
function vote ( uint256 tokenId, address[] memory _poolVote, uint256[] memory _weights ) external;
function votes ( uint256, address ) external view returns ( uint256 );
function weights ( address ) external view returns ( uint256 );
function whitelist ( address _token ) external;
function whitelistGaugeReward ( address _gauge, address _reward ) external;
function whitelistOperator ( ) external view returns ( address );
function xRatio ( ) external view returns ( uint256 );
function xToken ( ) external view returns ( address );
}{
"remappings": [
"ds-test/=node_modules/ds-test/src/",
"forge-std/=node_modules/forge-std/src/",
"frax-std/=node_modules/frax-standard-solidity/src/",
"@chainlink/=node_modules/@chainlink/",
"@eth-optimism/=node_modules/@eth-optimism/",
"@openzeppelin/=node_modules/@openzeppelin/",
"frax-standard-solidity/=node_modules/frax-standard-solidity/",
"solidity-bytes-utils/=node_modules/solidity-bytes-utils/"
],
"optimizer": {
"enabled": false,
"runs": 2000
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "none",
"appendCBOR": false
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "london",
"viaIR": false,
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"poolAddress","type":"address"},{"internalType":"address","name":"gaugeAddress","type":"address"},{"internalType":"address","name":"incentivePoolAddress","type":"address"},{"internalType":"address","name":"incentiveTokenAddress","type":"address"},{"internalType":"uint256","name":"indexId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"incentivizePool","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50610244806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063b649fbf414610030575b600080fd5b61004a60048036038101906100459190610162565b61004c565b005b60008490508073ffffffffffffffffffffffffffffffffffffffff16639ca7ed678786856040518463ffffffff1660e01b815260040161008e9392919061020d565b600060405180830381600087803b1580156100a857600080fd5b505af11580156100bc573d6000803e3d6000fd5b5050505050505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100f9826100ce565b9050919050565b610109816100ee565b811461011457600080fd5b50565b60008135905061012681610100565b92915050565b6000819050919050565b61013f8161012c565b811461014a57600080fd5b50565b60008135905061015c81610136565b92915050565b60008060008060008060c0878903121561017f5761017e6100c9565b5b600061018d89828a01610117565b965050602061019e89828a01610117565b95505060406101af89828a01610117565b94505060606101c089828a01610117565b93505060806101d189828a0161014d565b92505060a06101e289828a0161014d565b9150509295509295509295565b6101f8816100ee565b82525050565b6102078161012c565b82525050565b600060608201905061022260008301866101ef565b61022f60208301856101ef565b61023c60408301846101fe565b94935050505056
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063b649fbf414610030575b600080fd5b61004a60048036038101906100459190610162565b61004c565b005b60008490508073ffffffffffffffffffffffffffffffffffffffff16639ca7ed678786856040518463ffffffff1660e01b815260040161008e9392919061020d565b600060405180830381600087803b1580156100a857600080fd5b505af11580156100bc573d6000803e3d6000fd5b5050505050505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100f9826100ce565b9050919050565b610109816100ee565b811461011457600080fd5b50565b60008135905061012681610100565b92915050565b6000819050919050565b61013f8161012c565b811461014a57600080fd5b50565b60008135905061015c81610136565b92915050565b60008060008060008060c0878903121561017f5761017e6100c9565b5b600061018d89828a01610117565b965050602061019e89828a01610117565b95505060406101af89828a01610117565b94505060606101c089828a01610117565b93505060806101d189828a0161014d565b92505060a06101e289828a0161014d565b9150509295509295509295565b6101f8816100ee565b82525050565b6102078161012c565b82525050565b600060608201905061022260008301866101ef565b61022f60208301856101ef565b61023c60408301846101fe565b94935050505056
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in FRAX
0
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.