FRAX Price: $0.87 (-13.72%)

Contract

0x8bEb6e314c70d77491a52b2e08576F78163eBc5c

Overview

FRAX Balance | FXTL Balance

0 FRAX | 5,836 FXTL

FRAX Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To

There are no matching entries

1 Token Transfer found.

View more zero value Internal Transactions in Advanced View mode

Advanced mode:

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RaDirectIncentiveHandler

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 2000 runs

Other Settings:
london EvmVersion
File 1 of 2 : RaDirectIncentiveHandler.sol
// 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);
    }
}

File 2 of 2 : IRaVoter.sol
// 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 );
}

Settings
{
  "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

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"}]

608060405234801561001057600080fd5b50610244806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063b649fbf414610030575b600080fd5b61004a60048036038101906100459190610162565b61004c565b005b60008490508073ffffffffffffffffffffffffffffffffffffffff16639ca7ed678786856040518463ffffffff1660e01b815260040161008e9392919061020d565b600060405180830381600087803b1580156100a857600080fd5b505af11580156100bc573d6000803e3d6000fd5b5050505050505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100f9826100ce565b9050919050565b610109816100ee565b811461011457600080fd5b50565b60008135905061012681610100565b92915050565b6000819050919050565b61013f8161012c565b811461014a57600080fd5b50565b60008135905061015c81610136565b92915050565b60008060008060008060c0878903121561017f5761017e6100c9565b5b600061018d89828a01610117565b965050602061019e89828a01610117565b95505060406101af89828a01610117565b94505060606101c089828a01610117565b93505060806101d189828a0161014d565b92505060a06101e289828a0161014d565b9150509295509295509295565b6101f8816100ee565b82525050565b6102078161012c565b82525050565b600060608201905061022260008301866101ef565b61022f60208301856101ef565b61023c60408301846101fe565b94935050505056

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063b649fbf414610030575b600080fd5b61004a60048036038101906100459190610162565b61004c565b005b60008490508073ffffffffffffffffffffffffffffffffffffffff16639ca7ed678786856040518463ffffffff1660e01b815260040161008e9392919061020d565b600060405180830381600087803b1580156100a857600080fd5b505af11580156100bc573d6000803e3d6000fd5b5050505050505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100f9826100ce565b9050919050565b610109816100ee565b811461011457600080fd5b50565b60008135905061012681610100565b92915050565b6000819050919050565b61013f8161012c565b811461014a57600080fd5b50565b60008135905061015c81610136565b92915050565b60008060008060008060c0878903121561017f5761017e6100c9565b5b600061018d89828a01610117565b965050602061019e89828a01610117565b95505060406101af89828a01610117565b94505060606101c089828a01610117565b93505060806101d189828a0161014d565b92505060a06101e289828a0161014d565b9150509295509295509295565b6101f8816100ee565b82525050565b6102078161012c565b82525050565b600060608201905061022260008301866101ef565b61022f60208301856101ef565b61023c60408301846101fe565b94935050505056

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.