S Price: $0.722331 (-10.56%)

Contract

0xaaA2cF309EF8eD96A8Fa03b7F08565EF52b31640

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Controller

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 4 : Controller.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

import "contracts/interfaces/IVoter.sol";
import "contracts/interfaces/ITOKENFees.sol";
import "contracts/interfaces/IPlugin.sol";

contract Controller {

    /*----------  CONSTANTS  --------------------------------------------*/

    /*----------  STATE VARIABLES  --------------------------------------*/

    address public immutable voter;
    address public immutable fees;

    struct Plugin {
        uint256 index;
        address plugin;
        address underlying;
        address gauge;
        address bribe;
        bool isAlive;
        string symbol;
        string protocol;
    }

    /*----------  FUNCTIONS  --------------------------------------------*/

    constructor(
        address _voter,
        address _fees
    ) {
        voter = _voter;
        fees = _fees;
    }

    /*----------  VIEW FUNCTIONS  ---------------------------------------*/

    function getPluginInfo(uint256 index) public view returns (Plugin memory plugin) {
        plugin.index = index;
        plugin.plugin = IVoter(voter).plugins(index);
        plugin.underlying = IPlugin(plugin.plugin).getUnderlyingAddress();
        plugin.gauge = IVoter(voter).gauges(plugin.plugin);
        plugin.bribe = IVoter(voter).bribes(plugin.plugin);
        plugin.isAlive = IVoter(voter).isAlive(plugin.gauge);
        plugin.symbol = IPlugin(plugin.plugin).getUnderlyingSymbol();
        plugin.protocol = IPlugin(plugin.plugin).getProtocol();
    }

    function getPluginsInfo() external view returns (Plugin[] memory plugins) {
        plugins = new Plugin[](IVoter(voter).getPlugins().length);
        for (uint256 i = 0; i < IVoter(voter).getPlugins().length; i++) {
            plugins[i] = getPluginInfo(i);
        }
        return plugins;
    }

    function distributeToGauges() public {
        address[] memory plugins = IVoter(voter).getPlugins();
        for (uint256 i = 0; i < plugins.length; i++) {
            address gauge = IVoter(voter).gauges(plugins[i]);
            if (IVoter(voter).isAlive(gauge)) {
                IVoter(voter).distribute(gauge);
            }
        }
    }

    function distributeToBribes() public {
        address[] memory plugins = IVoter(voter).getPlugins();
        for (uint256 i = 0; i < plugins.length; i++) {
            if (IVoter(voter).isAlive(IVoter(voter).gauges(plugins[i]))) {
                IPlugin(plugins[i]).claimAndDistribute();
            }
        }
    }

    function distributeToStakers() public {
        ITOKENFees(fees).distribute();
    }

    function distribute() external {
        distributeToGauges();
        distributeToBribes();
        distributeToStakers();
    }

}

File 2 of 4 : IPlugin.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

interface IPlugin {
    /*----------  FUNCTIONS  --------------------------------------------*/
    function claimAndDistribute() external;
    /*----------  RESTRICTED FUNCTIONS  ---------------------------------*/
    function setGauge(address gauge) external;
    function setBribe(address bribe) external;
    /*----------  VIEW FUNCTIONS  ---------------------------------------*/
    function balanceOf(address account) external view returns (uint256);
    function totalSupply() external view returns (uint256);
    function getUnderlyingName() external view returns (string memory);
    function getUnderlyingSymbol() external view returns (string memory);
    function getUnderlyingAddress() external view returns (address);
    function getProtocol() external view returns (string memory);
    function getTokensInUnderlying() external view returns (address[] memory);
    function getBribeTokens() external view returns (address[] memory);
    function getUnderlyingDecimals() external view returns (uint8);
}

File 3 of 4 : ITOKENFees.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

interface ITOKENFees {
    /*----------  FUNCTIONS  --------------------------------------------*/
    function distribute() external;
    /*----------  RESTRICTED FUNCTIONS  ---------------------------------*/
    /*----------  VIEW FUNCTIONS  ---------------------------------------*/
}

File 4 of 4 : IVoter.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

interface IVoter {
    /*----------  FUNCTIONS  --------------------------------------------*/
    function distribute(address _gauge) external;
    function emitDeposit(address account, uint amount) external;
    function emitWithdraw(address account, uint amount) external;
    function notifyRewardAmount(uint amount) external;
    /*----------  RESTRICTED FUNCTIONS  ---------------------------------*/
    /*----------  VIEW FUNCTIONS  ---------------------------------------*/
    function OTOKEN() external view returns (address);
    function plugins(uint256 index) external view returns (address);
    function getPlugins() external view returns (address[] memory);
    function gauges(address pool) external view returns (address);
    function bribes(address pool) external view returns (address);
    function isAlive(address gauge) external view returns (bool);
    function usedWeights(address account) external view returns (uint256);
    function weights(address pool) external view returns (uint256);
    function totalWeight() external view returns (uint256);
    function votes(address account, address pool) external view returns (uint256);
    function lastVoted(address account) external view returns (uint256);
    function minter() external view returns (address);
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200,
    "details": {}
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_voter","type":"address"},{"internalType":"address","name":"_fees","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"distribute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributeToBribes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributeToGauges","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributeToStakers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fees","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getPluginInfo","outputs":[{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"address","name":"plugin","type":"address"},{"internalType":"address","name":"underlying","type":"address"},{"internalType":"address","name":"gauge","type":"address"},{"internalType":"address","name":"bribe","type":"address"},{"internalType":"bool","name":"isAlive","type":"bool"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"protocol","type":"string"}],"internalType":"struct Controller.Plugin","name":"plugin","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPluginsInfo","outputs":[{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"address","name":"plugin","type":"address"},{"internalType":"address","name":"underlying","type":"address"},{"internalType":"address","name":"gauge","type":"address"},{"internalType":"address","name":"bribe","type":"address"},{"internalType":"bool","name":"isAlive","type":"bool"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"protocol","type":"string"}],"internalType":"struct Controller.Plugin[]","name":"plugins","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"voter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60c060405234801561001057600080fd5b5060405161119538038061119583398101604081905261002f91610062565b6001600160a01b039182166080521660a052610095565b80516001600160a01b038116811461005d57600080fd5b919050565b6000806040838503121561007557600080fd5b61007e83610046565b915061008c60208401610046565b90509250929050565b60805160a05161107a61011b6000396000818161012501526103c501526000818160a401528181610153015281816101e9015281816102be0152818161034f0152818161043c0152818161051a0152818161060401528181610713015281816107ac01528181610845015281816109ab01528181610a3f0152610a6e015261107a6000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80636fcb93011161005b5780636fcb9301146100f857806380e2583f146101185780639af1d35a14610120578063e4fc6b6d1461014757600080fd5b80632afb38931461008d57806342f34f5d1461009757806346c96aac1461009f5780636e17cec2146100e3575b600080fd5b61009561014f565b005b6100956103c3565b6100c67f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100eb610438565b6040516100da9190610d91565b61010b610106366004610df3565b6105e3565b6040516100da9190610e0c565b6100956109a7565b6100c67f000000000000000000000000000000000000000000000000000000000000000081565b610095610c0d565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a2d869b26040518163ffffffff1660e01b8152600401600060405180830381865afa1580156101af573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101d79190810190610e89565b905060005b81518110156103bf5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b9a09fd584848151811061022857610228610f36565b60200260200101516040518263ffffffff1660e01b815260040161025b91906001600160a01b0391909116815260200190565b602060405180830381865afa158015610278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029c9190610f4c565b604051631703e5f960e01b81526001600160a01b0380831660048301529192507f000000000000000000000000000000000000000000000000000000000000000090911690631703e5f990602401602060405180830381865afa158015610307573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032b9190610f67565b156103ac576040516363453ae160e01b81526001600160a01b0382811660048301527f000000000000000000000000000000000000000000000000000000000000000016906363453ae190602401600060405180830381600087803b15801561039357600080fd5b505af11580156103a7573d6000803e3d6000fd5b505050505b50806103b781610f89565b9150506101dc565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fc6b6d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561041e57600080fd5b505af1158015610432573d6000803e3d6000fd5b50505050565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a2d869b26040518163ffffffff1660e01b8152600401600060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c09190810190610e89565b5167ffffffffffffffff8111156104d9576104d9610e26565b60405190808252806020026020018201604052801561051257816020015b6104ff610c27565b8152602001906001900390816104f75790505b50905060005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a2d869b26040518163ffffffff1660e01b8152600401600060405180830381865afa158015610576573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059e9190810190610e89565b518110156105df576105af816105e3565b8282815181106105c1576105c1610f36565b602002602001018190525080806105d790610f89565b915050610518565b5090565b6105eb610c27565b81815260405163f0a317eb60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f0a317eb90602401602060405180830381865afa158015610653573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106779190610f4c565b6001600160a01b0316602080830182905260408051634453434160e11b815290516388a68682926004808401939192918290030181865afa1580156106c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e49190610f4c565b6001600160a01b039081166040838101919091526020830151905163b9a09fd560e01b815290821660048201527f00000000000000000000000000000000000000000000000000000000000000009091169063b9a09fd590602401602060405180830381865afa15801561075c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107809190610f4c565b6001600160a01b0390811660608301526020820151604051635462ecad60e11b815290821660048201527f00000000000000000000000000000000000000000000000000000000000000009091169063a8c5d95a90602401602060405180830381865afa1580156107f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108199190610f4c565b6001600160a01b0390811660808301526060820151604051631703e5f960e01b815290821660048201527f000000000000000000000000000000000000000000000000000000000000000090911690631703e5f990602401602060405180830381865afa15801561088e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b29190610f67565b8160a001901515908115158152505080602001516001600160a01b031663068acc396040518163ffffffff1660e01b8152600401600060405180830381865afa158015610903573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261092b9190810190610fb0565b8160c0018190525080602001516001600160a01b031663d16352af6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610975573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261099d9190810190610fb0565b60e0820152919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a2d869b26040518163ffffffff1660e01b8152600401600060405180830381865afa158015610a07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a2f9190810190610e89565b905060005b81518110156103bf577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631703e5f97f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b9a09fd5858581518110610aad57610aad610f36565b60200260200101516040518263ffffffff1660e01b8152600401610ae091906001600160a01b0391909116815260200190565b602060405180830381865afa158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b219190610f4c565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610b65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b899190610f67565b15610bfb57818181518110610ba057610ba0610f36565b60200260200101516001600160a01b031663dfb89c376040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610be257600080fd5b505af1158015610bf6573d6000803e3d6000fd5b505050505b80610c0581610f89565b915050610a34565b610c1561014f565b610c1d6109a7565b610c256103c3565b565b6040518061010001604052806000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160001515815260200160608152602001606081525090565b60005b83811015610cad578181015183820152602001610c95565b50506000910152565b60008151808452610cce816020860160208601610c92565b601f01601f19169290920160200192915050565b600061010082518452602083015160018060a01b03808216602087015280604086015116604087015250506060830151610d2760608601826001600160a01b03169052565b506080830151610d4260808601826001600160a01b03169052565b5060a0830151610d5660a086018215159052565b5060c08301518160c0860152610d6e82860182610cb6565b91505060e083015184820360e0860152610d888282610cb6565b95945050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610de657603f19888603018452610dd4858351610ce2565b94509285019290850190600101610db8565b5092979650505050505050565b600060208284031215610e0557600080fd5b5035919050565b602081526000610e1f6020830184610ce2565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610e6557610e65610e26565b604052919050565b80516001600160a01b0381168114610e8457600080fd5b919050565b60006020808385031215610e9c57600080fd5b825167ffffffffffffffff80821115610eb457600080fd5b818501915085601f830112610ec857600080fd5b815181811115610eda57610eda610e26565b8060051b9150610eeb848301610e3c565b8181529183018401918481019088841115610f0557600080fd5b938501935b83851015610f2a57610f1b85610e6d565b82529385019390850190610f0a565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610f5e57600080fd5b610e1f82610e6d565b600060208284031215610f7957600080fd5b81518015158114610e1f57600080fd5b600060018201610fa957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208284031215610fc257600080fd5b815167ffffffffffffffff80821115610fda57600080fd5b818401915084601f830112610fee57600080fd5b81518181111561100057611000610e26565b611013601f8201601f1916602001610e3c565b915080825285602082850101111561102a57600080fd5b61103b816020840160208601610c92565b5094935050505056fea2646970667358221220a77f77b9deb84e1c99e22438062162fb3192d2d5d5c71ae80cb3db8bf35e236764736f6c63430008130033000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e000000000000000000000000e57f69764ff895bcc58575bf1f8f7a23f62425d5

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100885760003560e01c80636fcb93011161005b5780636fcb9301146100f857806380e2583f146101185780639af1d35a14610120578063e4fc6b6d1461014757600080fd5b80632afb38931461008d57806342f34f5d1461009757806346c96aac1461009f5780636e17cec2146100e3575b600080fd5b61009561014f565b005b6100956103c3565b6100c67f000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e81565b6040516001600160a01b0390911681526020015b60405180910390f35b6100eb610438565b6040516100da9190610d91565b61010b610106366004610df3565b6105e3565b6040516100da9190610e0c565b6100956109a7565b6100c67f000000000000000000000000e57f69764ff895bcc58575bf1f8f7a23f62425d581565b610095610c0d565b60007f000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e6001600160a01b031663a2d869b26040518163ffffffff1660e01b8152600401600060405180830381865afa1580156101af573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101d79190810190610e89565b905060005b81518110156103bf5760007f000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e6001600160a01b031663b9a09fd584848151811061022857610228610f36565b60200260200101516040518263ffffffff1660e01b815260040161025b91906001600160a01b0391909116815260200190565b602060405180830381865afa158015610278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029c9190610f4c565b604051631703e5f960e01b81526001600160a01b0380831660048301529192507f000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e90911690631703e5f990602401602060405180830381865afa158015610307573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032b9190610f67565b156103ac576040516363453ae160e01b81526001600160a01b0382811660048301527f000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e16906363453ae190602401600060405180830381600087803b15801561039357600080fd5b505af11580156103a7573d6000803e3d6000fd5b505050505b50806103b781610f89565b9150506101dc565b5050565b7f000000000000000000000000e57f69764ff895bcc58575bf1f8f7a23f62425d56001600160a01b031663e4fc6b6d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561041e57600080fd5b505af1158015610432573d6000803e3d6000fd5b50505050565b60607f000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e6001600160a01b031663a2d869b26040518163ffffffff1660e01b8152600401600060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c09190810190610e89565b5167ffffffffffffffff8111156104d9576104d9610e26565b60405190808252806020026020018201604052801561051257816020015b6104ff610c27565b8152602001906001900390816104f75790505b50905060005b7f000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e6001600160a01b031663a2d869b26040518163ffffffff1660e01b8152600401600060405180830381865afa158015610576573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059e9190810190610e89565b518110156105df576105af816105e3565b8282815181106105c1576105c1610f36565b602002602001018190525080806105d790610f89565b915050610518565b5090565b6105eb610c27565b81815260405163f0a317eb60e01b8152600481018390527f000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e6001600160a01b03169063f0a317eb90602401602060405180830381865afa158015610653573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106779190610f4c565b6001600160a01b0316602080830182905260408051634453434160e11b815290516388a68682926004808401939192918290030181865afa1580156106c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e49190610f4c565b6001600160a01b039081166040838101919091526020830151905163b9a09fd560e01b815290821660048201527f000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e9091169063b9a09fd590602401602060405180830381865afa15801561075c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107809190610f4c565b6001600160a01b0390811660608301526020820151604051635462ecad60e11b815290821660048201527f000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e9091169063a8c5d95a90602401602060405180830381865afa1580156107f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108199190610f4c565b6001600160a01b0390811660808301526060820151604051631703e5f960e01b815290821660048201527f000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e90911690631703e5f990602401602060405180830381865afa15801561088e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b29190610f67565b8160a001901515908115158152505080602001516001600160a01b031663068acc396040518163ffffffff1660e01b8152600401600060405180830381865afa158015610903573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261092b9190810190610fb0565b8160c0018190525080602001516001600160a01b031663d16352af6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610975573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261099d9190810190610fb0565b60e0820152919050565b60007f000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e6001600160a01b031663a2d869b26040518163ffffffff1660e01b8152600401600060405180830381865afa158015610a07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a2f9190810190610e89565b905060005b81518110156103bf577f000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e6001600160a01b0316631703e5f97f000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e6001600160a01b031663b9a09fd5858581518110610aad57610aad610f36565b60200260200101516040518263ffffffff1660e01b8152600401610ae091906001600160a01b0391909116815260200190565b602060405180830381865afa158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b219190610f4c565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610b65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b899190610f67565b15610bfb57818181518110610ba057610ba0610f36565b60200260200101516001600160a01b031663dfb89c376040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610be257600080fd5b505af1158015610bf6573d6000803e3d6000fd5b505050505b80610c0581610f89565b915050610a34565b610c1561014f565b610c1d6109a7565b610c256103c3565b565b6040518061010001604052806000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160001515815260200160608152602001606081525090565b60005b83811015610cad578181015183820152602001610c95565b50506000910152565b60008151808452610cce816020860160208601610c92565b601f01601f19169290920160200192915050565b600061010082518452602083015160018060a01b03808216602087015280604086015116604087015250506060830151610d2760608601826001600160a01b03169052565b506080830151610d4260808601826001600160a01b03169052565b5060a0830151610d5660a086018215159052565b5060c08301518160c0860152610d6e82860182610cb6565b91505060e083015184820360e0860152610d888282610cb6565b95945050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610de657603f19888603018452610dd4858351610ce2565b94509285019290850190600101610db8565b5092979650505050505050565b600060208284031215610e0557600080fd5b5035919050565b602081526000610e1f6020830184610ce2565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610e6557610e65610e26565b604052919050565b80516001600160a01b0381168114610e8457600080fd5b919050565b60006020808385031215610e9c57600080fd5b825167ffffffffffffffff80821115610eb457600080fd5b818501915085601f830112610ec857600080fd5b815181811115610eda57610eda610e26565b8060051b9150610eeb848301610e3c565b8181529183018401918481019088841115610f0557600080fd5b938501935b83851015610f2a57610f1b85610e6d565b82529385019390850190610f0a565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610f5e57600080fd5b610e1f82610e6d565b600060208284031215610f7957600080fd5b81518015158114610e1f57600080fd5b600060018201610fa957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208284031215610fc257600080fd5b815167ffffffffffffffff80821115610fda57600080fd5b818401915084601f830112610fee57600080fd5b81518181111561100057611000610e26565b611013601f8201601f1916602001610e3c565b915080825285602082850101111561102a57600080fd5b61103b816020840160208601610c92565b5094935050505056fea2646970667358221220a77f77b9deb84e1c99e22438062162fb3192d2d5d5c71ae80cb3db8bf35e236764736f6c63430008130033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e000000000000000000000000e57f69764ff895bcc58575bf1f8f7a23f62425d5

-----Decoded View---------------
Arg [0] : _voter (address): 0xB85213e2be9fd369Eb502532d0Ae9a8Fc1D8883E
Arg [1] : _fees (address): 0xE57F69764Ff895bcC58575BF1f8F7A23F62425d5

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000b85213e2be9fd369eb502532d0ae9a8fc1d8883e
Arg [1] : 000000000000000000000000e57f69764ff895bcc58575bf1f8f7a23f62425d5


Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits

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.