Source Code
Overview
S Balance
0 S
More Info
ContractCreator
Latest 25 from a total of 100 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim Fees | 5328280 | 1 hr ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5322376 | 2 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5316933 | 2 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5312010 | 3 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5306620 | 3 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5301187 | 4 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5295727 | 4 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5290410 | 5 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5284699 | 5 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5279265 | 6 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5273749 | 6 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5268314 | 7 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5262670 | 7 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5257015 | 8 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5251394 | 8 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5245750 | 9 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5239723 | 9 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5234168 | 10 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5228899 | 10 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5222906 | 11 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5217362 | 11 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5211985 | 12 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5206086 | 12 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5200547 | 13 hrs ago | IN | 0 S | 0.00037764 | ||||
Claim Fees | 5194556 | 13 hrs ago | IN | 0 S | 0.00037764 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
5328280 | 1 hr ago | 0 S | ||||
5328280 | 1 hr ago | 0 S | ||||
5328280 | 1 hr ago | 0 S | ||||
5328280 | 1 hr ago | 0 S | ||||
5328280 | 1 hr ago | 0 S | ||||
5328280 | 1 hr ago | 0 S | ||||
5328280 | 1 hr ago | 0 S | ||||
5328280 | 1 hr ago | 0 S | ||||
5328280 | 1 hr ago | 0 S | ||||
5328280 | 1 hr ago | 0 S | ||||
5328280 | 1 hr ago | 0 S | ||||
5328280 | 1 hr ago | 0 S | ||||
5328280 | 1 hr ago | 0 S | ||||
5328280 | 1 hr ago | 0 S | ||||
5328280 | 1 hr ago | 0 S | ||||
5322376 | 2 hrs ago | 0 S | ||||
5322376 | 2 hrs ago | 0 S | ||||
5322376 | 2 hrs ago | 0 S | ||||
5322376 | 2 hrs ago | 0 S | ||||
5322376 | 2 hrs ago | 0 S | ||||
5322376 | 2 hrs ago | 0 S | ||||
5322376 | 2 hrs ago | 0 S | ||||
5322376 | 2 hrs ago | 0 S | ||||
5322376 | 2 hrs ago | 0 S | ||||
5322376 | 2 hrs ago | 0 S |
Loading...
Loading
Contract Name:
ClaimFeesMulticall
Compiler Version
v0.8.13+commit.abaa5c0e
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.13; import "@openzeppelin/contracts/access/Ownable.sol"; interface IGaugeFactory { function gauges() external view returns (address[] memory); } interface IGauge { function claimFees() external returns (uint claimed0, uint claimed1); function TOKEN() external view returns (address); } interface IPair { function claimStakingFees() external; } interface IVoter { function isAlive(address gauge) external returns (bool); function isGauge(address gauge) external returns (bool); function _epochTimestamp() external view returns (uint256); } interface ISplitter { function split() external; function stakingConverter() external view returns (address); function balanceOf() external view returns (uint256); } interface ISWPxNFTFeeConverter { function claimFees() external; function swap() external; } contract ClaimFeesMulticall is Ownable { /// @notice voter contract address address public voter; /// @notice gauge factory for GaugeV2 contracts address public gaugeFactory; /// @notice gauge factory for GaugeV2_CL contracts address public gaugeFactoryCL; /// @notice NFTSalesSplitter contract address public splitter; /// @notice SWPxNFTFeeConverter contract address public feeConverter; /// @notice true - claimFees called at this epoch, else - false mapping(uint256 => bool) public epochClaimed; /// @notice true - claimStakingFees called at this epoch, else - false mapping(uint256 => bool) public epochClaimedStaking; constructor( address _voter, address _gaugeFactory, address _gaugeFactoryCL, address _splitter ) { _setVoter(_voter); _setGaugeFactory(_gaugeFactory); _setGaugeFactoryCL(_gaugeFactoryCL); _setSplitter(_splitter); } // ownable methods /** @notice change VoterV3 contract address * @param _voter new contract address * @dev owner only */ function setVoter(address _voter) external onlyOwner { _setVoter(_voter); } /** @notice change GaugeFactory contract address * @param _gaugeFactory new contract address * @dev owner only */ function setGaugeFactory(address _gaugeFactory) external onlyOwner { _setGaugeFactory(_gaugeFactory); } /** @notice change GaugeFactoryCL contract address * @param _gaugeFactoryCL new contract address * @dev owner only */ function setGaugeFactoryCL(address _gaugeFactoryCL) external onlyOwner { _setGaugeFactoryCL(_gaugeFactoryCL); } function setSplitter(address _splitter) external onlyOwner { _setSplitter(_splitter); } // view methods /** @notice get list of gauges (v2/CL) * @return gauges list for v2 pools * @return gaugesCL list for CL pools * @return totalGauges summury length of pools array */ function getGauges() public view returns ( address[] memory gauges, address[] memory gaugesCL, uint256 totalGauges ) { gauges = IGaugeFactory(gaugeFactory).gauges(); gaugesCL = IGaugeFactory(gaugeFactoryCL).gauges(); totalGauges = gauges.length + gaugesCL.length; } /** @notice true - claimFees called at this epoch, else - false */ function claimed() external view returns (bool) { return epochClaimed[IVoter(voter)._epochTimestamp()]; } /** @notice true - claimStakingFees called at this epoch, else - false */ function claimedStaking() external view returns (bool) { return epochClaimedStaking[IVoter(voter)._epochTimestamp()]; } // public /// @notice call claimFees at all gauges function claimFees() external { (address[] memory gauges, address[] memory gaugesCL, ) = getGauges(); uint256 len1 = gauges.length; uint256 len2 = gaugesCL.length; uint256 mainLen = len1 > len2 ? len1 : len2; for (uint256 i; i < mainLen; i++) { if (i < len1) _claimFees(gauges[i]); if (i < len2) _claimFees(gaugesCL[i]); } epochClaimed[IVoter(voter)._epochTimestamp()] = true; } /// @notice call claimFees at current gauges (from start to end index of array) function claimFees(uint256 start, uint256 end) external { require(start < end, "wrong order"); ( address[] memory gauges, address[] memory gaugesCL, uint totalGauges ) = getGauges(); end = end > totalGauges ? totalGauges : end; uint256 len = gauges.length; for (uint256 i = start; i < end; i++) { if (i < len) _claimFees(gauges[i]); else _claimFees(gaugesCL[i - len]); } } /// @notice call claimStakingFees at all v2 pairs function claimStakingFees() external { (address[] memory gauges, , ) = getGauges(); uint256 len1 = gauges.length; for (uint256 i; i < len1; i++) { _claimStakingFees(gauges[i]); } epochClaimedStaking[IVoter(voter)._epochTimestamp()] = true; } /// @notice call claimStakingFees at current v2 pairs (from start to end index of array) function claimStakingFees(uint256 start, uint256 end) external { require(start < end, "wrong order"); (address[] memory gauges, , ) = getGauges(); uint256 len1 = gauges.length; end = end > len1 ? len1 : end; for (uint256 i = start; i < len1; i++) { _claimStakingFees(gauges[i]); } } /// @notice call splitter if possible, else - call fee converter function split() external { uint256 splitterBalance = ISplitter(splitter).balanceOf() + address(splitter).balance; if (splitterBalance > 1000) { ISplitter(splitter).split(); } else { ISWPxNFTFeeConverter(feeConverter).claimFees(); ISWPxNFTFeeConverter(feeConverter).swap(); } } // internal methods function _setVoter(address _voter) internal { require(_voter != address(0)); voter = _voter; } function _setGaugeFactory(address _gaugeFactory) internal { require(_gaugeFactory != address(0)); gaugeFactory = _gaugeFactory; } function _setGaugeFactoryCL(address _gaugeFactoryCL) internal { require(_gaugeFactoryCL != address(0)); gaugeFactoryCL = _gaugeFactoryCL; } function _setSplitter(address _splitter) internal { require(_splitter != address(0)); feeConverter = ISplitter(_splitter).stakingConverter(); require(feeConverter != address(0)); splitter = _splitter; } function _claimFees(address gauge) internal { if (IVoter(voter).isAlive(gauge) && IVoter(voter).isGauge(gauge)) IGauge(gauge).claimFees(); } function _claimStakingFees(address gauge) internal { if (IVoter(voter).isAlive(gauge) && IVoter(voter).isGauge(gauge)) IPair(IGauge(gauge).TOKEN()).claimStakingFees(); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
[{"inputs":[{"internalType":"address","name":"_voter","type":"address"},{"internalType":"address","name":"_gaugeFactory","type":"address"},{"internalType":"address","name":"_gaugeFactoryCL","type":"address"},{"internalType":"address","name":"_splitter","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"name":"claimFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"name":"claimStakingFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimStakingFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimedStaking","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"epochClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"epochClaimedStaking","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeConverter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gaugeFactory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gaugeFactoryCL","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGauges","outputs":[{"internalType":"address[]","name":"gauges","type":"address[]"},{"internalType":"address[]","name":"gaugesCL","type":"address[]"},{"internalType":"uint256","name":"totalGauges","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gaugeFactory","type":"address"}],"name":"setGaugeFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gaugeFactoryCL","type":"address"}],"name":"setGaugeFactoryCL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_splitter","type":"address"}],"name":"setSplitter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"name":"setVoter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"split","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"splitter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"voter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620015a7380380620015a7833981016040819052620000349162000248565b6200003f3362000075565b6200004a84620000c5565b6200005583620000fb565b620000608262000131565b6200006b8162000167565b50505050620002ca565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116620000d957600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166200010f57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166200014557600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166200017b57600080fd5b806001600160a01b031663ce08baa76040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e09190620002a5565b600580546001600160a01b0319166001600160a01b039290921691821790556200020957600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b80516001600160a01b03811681146200024357600080fd5b919050565b600080600080608085870312156200025f57600080fd5b6200026a856200022b565b93506200027a602086016200022b565b92506200028a604086016200022b565b91506200029a606086016200022b565b905092959194509250565b600060208284031215620002b857600080fd5b620002c3826200022b565b9392505050565b6112cd80620002da6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80639e9b88e7116100b8578063e22f3c2a1161007c578063e22f3c2a14610287578063e834a834146102aa578063f083be3b146102b2578063f2fde38b146102ba578063f675514b146102cd578063f7654176146102f057600080fd5b80639e9b88e714610233578063a14124c214610246578063c93fc83d14610259578063cdd1c61e1461026c578063d294f0931461027f57600080fd5b80633cd8045e1161010a5780633cd8045e146101ca57806346c96aac146101dd5780634bc2a657146101f05780635574f46d14610203578063715018a61461021a5780638da5cb5b1461022257600080fd5b8063026b35d8146101475780630d107c4f1461015c5780630d52333c1461018c5780630f7f7a201461019f57806323130d11146101b7575b600080fd5b61015a610155366004610fce565b6102f8565b005b60035461016f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b60025461016f906001600160a01b031681565b6101a76103a1565b6040519015158152602001610183565b61015a6101c5366004611005565b610437565b60045461016f906001600160a01b031681565b60015461016f906001600160a01b031681565b61015a6101fe366004611005565b61044b565b61020b61045c565b6040516101839392919061106d565b61015a610570565b6000546001600160a01b031661016f565b61015a610241366004611005565b610584565b60055461016f906001600160a01b031681565b61015a610267366004611005565b610595565b61015a61027a366004610fce565b6105a6565b61015a61067c565b6101a76102953660046110a3565b60066020526000908152604090205460ff1681565b6101a76107a1565b61015a6107fa565b61015a6102c8366004611005565b6108de565b6101a76102db3660046110a3565b60076020526000908152604090205460ff1681565b61015a610954565b80821061033a5760405162461bcd60e51b815260206004820152600b60248201526a3bb937b7339037b93232b960a91b60448201526064015b60405180910390fd5b600061034461045c565b50508051909150808311610358578261035a565b805b9250835b8181101561039a5761038883828151811061037b5761037b6110bc565b6020026020010151610aea565b80610392816110e8565b91505061035e565b5050505050565b600060076000600160009054906101000a90046001600160a01b03166001600160a01b031663f8803bb66040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041e9190611101565b815260208101919091526040016000205460ff16919050565b61043f610c72565b61044881610ccc565b50565b610453610c72565b61044881610d01565b6060806000600260009054906101000a90046001600160a01b03166001600160a01b031663821bdcf16040518163ffffffff1660e01b8152600401600060405180830381865afa1580156104b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104dc9190810190611140565b9250600360009054906101000a90046001600160a01b03166001600160a01b031663821bdcf16040518163ffffffff1660e01b8152600401600060405180830381865afa158015610531573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105599190810190611140565b9150815183516105699190611205565b9050909192565b610578610c72565b6105826000610d36565b565b61058c610c72565b61044881610d86565b61059d610c72565b61044881610dbb565b8082106105e35760405162461bcd60e51b815260206004820152600b60248201526a3bb937b7339037b93232b960a91b6044820152606401610331565b60008060006105f061045c565b9250925092508084116106035783610605565b805b8351909450855b8581101561067357818110156106435761063e858281518110610631576106316110bc565b6020026020010151610e7a565b610661565b61066184610651848461121d565b81518110610631576106316110bc565b8061066b816110e8565b91505061060c565b50505050505050565b60008061068761045c565b50815181519294509092509060008183116106a257816106a4565b825b905060005b818110156106fd57838110156106ce576106ce868281518110610631576106316110bc565b828110156106eb576106eb858281518110610631576106316110bc565b806106f5816110e8565b9150506106a9565b50600160066000600160009054906101000a90046001600160a01b03166001600160a01b031663f8803bb66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610757573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077b9190611101565b81526020810191909152604001600020805460ff19169115159190911790555050505050565b600060066000600160009054906101000a90046001600160a01b03166001600160a01b031663f8803bb66040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103fa573d6000803e3d6000fd5b600061080461045c565b5050805190915060005b8181101561083d5761082b83828151811061037b5761037b6110bc565b80610835816110e8565b91505061080e565b50600160076000600160009054906101000a90046001600160a01b03166001600160a01b031663f8803bb66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bb9190611101565b81526020810191909152604001600020805460ff19169115159190911790555050565b6108e6610c72565b6001600160a01b03811661094b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610331565b61044881610d36565b600480546040805163722713f760e01b815290516000936001600160a01b03909316803193909263722713f792818301926020928290030181865afa1580156109a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c59190611101565b6109cf9190611205565b90506103e8811115610a32576004805460408051637bb2a0bb60e11b815290516001600160a01b039092169263f765417692828201926000929082900301818387803b158015610a1e57600080fd5b505af115801561039a573d6000803e3d6000fd5b600560009054906101000a90046001600160a01b03166001600160a01b031663d294f0936040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a8257600080fd5b505af1158015610a96573d6000803e3d6000fd5b50505050600560009054906101000a90046001600160a01b03166001600160a01b0316638119c0656040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a1e57600080fd5b600154604051631703e5f960e01b81526001600160a01b03838116600483015290911690631703e5f9906024016020604051808303816000875af1158015610b36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5a9190611234565b8015610bd1575060015460405163aa79979b60e01b81526001600160a01b0383811660048301529091169063aa79979b906024016020604051808303816000875af1158015610bad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd19190611234565b1561044857806001600160a01b03166382bfefc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c389190611256565b6001600160a01b031663f083be3b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a1e57600080fd5b6000546001600160a01b031633146105825760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610331565b6001600160a01b038116610cdf57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116610d1457600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610d9957600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116610dce57600080fd5b806001600160a01b031663ce08baa76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e309190611256565b600580546001600160a01b0319166001600160a01b03929092169182179055610e5857600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600154604051631703e5f960e01b81526001600160a01b03838116600483015290911690631703e5f9906024016020604051808303816000875af1158015610ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eea9190611234565b8015610f61575060015460405163aa79979b60e01b81526001600160a01b0383811660048301529091169063aa79979b906024016020604051808303816000875af1158015610f3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f619190611234565b1561044857806001600160a01b031663d294f0936040518163ffffffff1660e01b815260040160408051808303816000875af1158015610fa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc99190611273565b505050565b60008060408385031215610fe157600080fd5b50508035926020909101359150565b6001600160a01b038116811461044857600080fd5b60006020828403121561101757600080fd5b813561102281610ff0565b9392505050565b600081518084526020808501945080840160005b838110156110625781516001600160a01b03168752958201959082019060010161103d565b509495945050505050565b6060815260006110806060830186611029565b82810360208401526110928186611029565b915050826040830152949350505050565b6000602082840312156110b557600080fd5b5035919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016110fa576110fa6110d2565b5060010190565b60006020828403121561111357600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b805161113b81610ff0565b919050565b6000602080838503121561115357600080fd5b825167ffffffffffffffff8082111561116b57600080fd5b818501915085601f83011261117f57600080fd5b8151818111156111915761119161111a565b8060051b604051601f19603f830116810181811085821117156111b6576111b661111a565b6040529182528482019250838101850191888311156111d457600080fd5b938501935b828510156111f9576111ea85611130565b845293850193928501926111d9565b98975050505050505050565b60008219821115611218576112186110d2565b500190565b60008282101561122f5761122f6110d2565b500390565b60006020828403121561124657600080fd5b8151801515811461102257600080fd5b60006020828403121561126857600080fd5b815161102281610ff0565b6000806040838503121561128657600080fd5b50508051602090910151909290915056fea26469706673582212202cc35831afb2afa730fdb8f03545efb2732f4b47664b163ac22f6344aaa2cfa364736f6c634300080d0033000000000000000000000000f7dfbf73bf9393598664efe3d13829adacafc16700000000000000000000000038dacfe60ebf6ed37253df2907b8428fb0e036c4000000000000000000000000d8cec8f5581aea71a47f1404e989892117ea685f000000000000000000000000f56c60b777cdeefb8d0e70981872533a31a7791b
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101425760003560e01c80639e9b88e7116100b8578063e22f3c2a1161007c578063e22f3c2a14610287578063e834a834146102aa578063f083be3b146102b2578063f2fde38b146102ba578063f675514b146102cd578063f7654176146102f057600080fd5b80639e9b88e714610233578063a14124c214610246578063c93fc83d14610259578063cdd1c61e1461026c578063d294f0931461027f57600080fd5b80633cd8045e1161010a5780633cd8045e146101ca57806346c96aac146101dd5780634bc2a657146101f05780635574f46d14610203578063715018a61461021a5780638da5cb5b1461022257600080fd5b8063026b35d8146101475780630d107c4f1461015c5780630d52333c1461018c5780630f7f7a201461019f57806323130d11146101b7575b600080fd5b61015a610155366004610fce565b6102f8565b005b60035461016f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b60025461016f906001600160a01b031681565b6101a76103a1565b6040519015158152602001610183565b61015a6101c5366004611005565b610437565b60045461016f906001600160a01b031681565b60015461016f906001600160a01b031681565b61015a6101fe366004611005565b61044b565b61020b61045c565b6040516101839392919061106d565b61015a610570565b6000546001600160a01b031661016f565b61015a610241366004611005565b610584565b60055461016f906001600160a01b031681565b61015a610267366004611005565b610595565b61015a61027a366004610fce565b6105a6565b61015a61067c565b6101a76102953660046110a3565b60066020526000908152604090205460ff1681565b6101a76107a1565b61015a6107fa565b61015a6102c8366004611005565b6108de565b6101a76102db3660046110a3565b60076020526000908152604090205460ff1681565b61015a610954565b80821061033a5760405162461bcd60e51b815260206004820152600b60248201526a3bb937b7339037b93232b960a91b60448201526064015b60405180910390fd5b600061034461045c565b50508051909150808311610358578261035a565b805b9250835b8181101561039a5761038883828151811061037b5761037b6110bc565b6020026020010151610aea565b80610392816110e8565b91505061035e565b5050505050565b600060076000600160009054906101000a90046001600160a01b03166001600160a01b031663f8803bb66040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041e9190611101565b815260208101919091526040016000205460ff16919050565b61043f610c72565b61044881610ccc565b50565b610453610c72565b61044881610d01565b6060806000600260009054906101000a90046001600160a01b03166001600160a01b031663821bdcf16040518163ffffffff1660e01b8152600401600060405180830381865afa1580156104b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104dc9190810190611140565b9250600360009054906101000a90046001600160a01b03166001600160a01b031663821bdcf16040518163ffffffff1660e01b8152600401600060405180830381865afa158015610531573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105599190810190611140565b9150815183516105699190611205565b9050909192565b610578610c72565b6105826000610d36565b565b61058c610c72565b61044881610d86565b61059d610c72565b61044881610dbb565b8082106105e35760405162461bcd60e51b815260206004820152600b60248201526a3bb937b7339037b93232b960a91b6044820152606401610331565b60008060006105f061045c565b9250925092508084116106035783610605565b805b8351909450855b8581101561067357818110156106435761063e858281518110610631576106316110bc565b6020026020010151610e7a565b610661565b61066184610651848461121d565b81518110610631576106316110bc565b8061066b816110e8565b91505061060c565b50505050505050565b60008061068761045c565b50815181519294509092509060008183116106a257816106a4565b825b905060005b818110156106fd57838110156106ce576106ce868281518110610631576106316110bc565b828110156106eb576106eb858281518110610631576106316110bc565b806106f5816110e8565b9150506106a9565b50600160066000600160009054906101000a90046001600160a01b03166001600160a01b031663f8803bb66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610757573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077b9190611101565b81526020810191909152604001600020805460ff19169115159190911790555050505050565b600060066000600160009054906101000a90046001600160a01b03166001600160a01b031663f8803bb66040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103fa573d6000803e3d6000fd5b600061080461045c565b5050805190915060005b8181101561083d5761082b83828151811061037b5761037b6110bc565b80610835816110e8565b91505061080e565b50600160076000600160009054906101000a90046001600160a01b03166001600160a01b031663f8803bb66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bb9190611101565b81526020810191909152604001600020805460ff19169115159190911790555050565b6108e6610c72565b6001600160a01b03811661094b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610331565b61044881610d36565b600480546040805163722713f760e01b815290516000936001600160a01b03909316803193909263722713f792818301926020928290030181865afa1580156109a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c59190611101565b6109cf9190611205565b90506103e8811115610a32576004805460408051637bb2a0bb60e11b815290516001600160a01b039092169263f765417692828201926000929082900301818387803b158015610a1e57600080fd5b505af115801561039a573d6000803e3d6000fd5b600560009054906101000a90046001600160a01b03166001600160a01b031663d294f0936040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a8257600080fd5b505af1158015610a96573d6000803e3d6000fd5b50505050600560009054906101000a90046001600160a01b03166001600160a01b0316638119c0656040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a1e57600080fd5b600154604051631703e5f960e01b81526001600160a01b03838116600483015290911690631703e5f9906024016020604051808303816000875af1158015610b36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5a9190611234565b8015610bd1575060015460405163aa79979b60e01b81526001600160a01b0383811660048301529091169063aa79979b906024016020604051808303816000875af1158015610bad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd19190611234565b1561044857806001600160a01b03166382bfefc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c389190611256565b6001600160a01b031663f083be3b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a1e57600080fd5b6000546001600160a01b031633146105825760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610331565b6001600160a01b038116610cdf57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116610d1457600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610d9957600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116610dce57600080fd5b806001600160a01b031663ce08baa76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e309190611256565b600580546001600160a01b0319166001600160a01b03929092169182179055610e5857600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600154604051631703e5f960e01b81526001600160a01b03838116600483015290911690631703e5f9906024016020604051808303816000875af1158015610ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eea9190611234565b8015610f61575060015460405163aa79979b60e01b81526001600160a01b0383811660048301529091169063aa79979b906024016020604051808303816000875af1158015610f3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f619190611234565b1561044857806001600160a01b031663d294f0936040518163ffffffff1660e01b815260040160408051808303816000875af1158015610fa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc99190611273565b505050565b60008060408385031215610fe157600080fd5b50508035926020909101359150565b6001600160a01b038116811461044857600080fd5b60006020828403121561101757600080fd5b813561102281610ff0565b9392505050565b600081518084526020808501945080840160005b838110156110625781516001600160a01b03168752958201959082019060010161103d565b509495945050505050565b6060815260006110806060830186611029565b82810360208401526110928186611029565b915050826040830152949350505050565b6000602082840312156110b557600080fd5b5035919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016110fa576110fa6110d2565b5060010190565b60006020828403121561111357600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b805161113b81610ff0565b919050565b6000602080838503121561115357600080fd5b825167ffffffffffffffff8082111561116b57600080fd5b818501915085601f83011261117f57600080fd5b8151818111156111915761119161111a565b8060051b604051601f19603f830116810181811085821117156111b6576111b661111a565b6040529182528482019250838101850191888311156111d457600080fd5b938501935b828510156111f9576111ea85611130565b845293850193928501926111d9565b98975050505050505050565b60008219821115611218576112186110d2565b500190565b60008282101561122f5761122f6110d2565b500390565b60006020828403121561124657600080fd5b8151801515811461102257600080fd5b60006020828403121561126857600080fd5b815161102281610ff0565b6000806040838503121561128657600080fd5b50508051602090910151909290915056fea26469706673582212202cc35831afb2afa730fdb8f03545efb2732f4b47664b163ac22f6344aaa2cfa364736f6c634300080d0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f7dfbf73bf9393598664efe3d13829adacafc16700000000000000000000000038dacfe60ebf6ed37253df2907b8428fb0e036c4000000000000000000000000d8cec8f5581aea71a47f1404e989892117ea685f000000000000000000000000f56c60b777cdeefb8d0e70981872533a31a7791b
-----Decoded View---------------
Arg [0] : _voter (address): 0xf7dFbf73bf9393598664EFE3d13829AdaCAFc167
Arg [1] : _gaugeFactory (address): 0x38daCfE60ebF6ed37253dF2907B8428fb0e036C4
Arg [2] : _gaugeFactoryCL (address): 0xd8CEc8F5581AEa71A47f1404E989892117eA685f
Arg [3] : _splitter (address): 0xf56C60B777CDeEfb8d0E70981872533a31a7791B
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000f7dfbf73bf9393598664efe3d13829adacafc167
Arg [1] : 00000000000000000000000038dacfe60ebf6ed37253df2907b8428fb0e036c4
Arg [2] : 000000000000000000000000d8cec8f5581aea71a47f1404e989892117ea685f
Arg [3] : 000000000000000000000000f56c60b777cdeefb8d0e70981872533a31a7791b
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ Download: CSV Export ]
[ Download: CSV Export ]
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.