Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x60806040 | 11694019 | 1321 days ago | IN | 0 ETH | 0.04115009 |
Loading...
Loading
Contract Name:
BsdVote
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-01-20 */ // SPDX-License-Identifier: MIT pragma solidity 0.6.12; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } interface IVoteProxy { function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address _voter) external view returns (uint256); } interface IFaasPool is IERC20 { function getBalance(address token) external view returns (uint256); function getUserInfo(uint8 _pid, address _account) external view returns ( uint256 amount, uint256 rewardDebt, uint256 accumulatedEarned, uint256 lockReward, uint256 lockRewardReleased ); } contract BsdVote is IVoteProxy { using SafeMath for uint256; IFaasPool[10] public faasPools; IERC20[10] public stakePools; IERC20 bsdsToken; address public bsds; uint256 public totalFaasPools; uint256 public totalStakePools; address public governance; constructor( address _bsds, address[] memory _faasPoolAddresses, address[] memory _stakePoolAddresses ) public { _setFaasPools(_faasPoolAddresses); _setStakePools(_stakePoolAddresses); bsds = _bsds; bsdsToken = IERC20(bsds); governance = msg.sender; } function _setFaasPools(address[] memory _faasPoolAddresses) internal { totalFaasPools = _faasPoolAddresses.length; for (uint256 i = 0; i < totalFaasPools; i++) { faasPools[i] = IFaasPool(_faasPoolAddresses[i]); } } function _setStakePools(address[] memory _stakePoolAddresses) internal { totalStakePools = _stakePoolAddresses.length; for (uint256 i = 0; i < totalStakePools; i++) { stakePools[i] = IERC20(_stakePoolAddresses[i]); } } function decimals() public pure virtual override returns (uint8) { return uint8(18); } function totalSupply() public view override returns (uint256) { uint256 totalSupplyPool = 0; uint256 i; for (i = 0; i < totalFaasPools; i++) { totalSupplyPool = totalSupplyPool.add(bsdsToken.balanceOf(address(faasPools[i]))); } uint256 totalSupplyStake = 0; for (i = 0; i < totalStakePools; i++) { totalSupplyStake = totalSupplyStake.add(bsdsToken.balanceOf(address(stakePools[i]))); } return totalSupplyPool.add(totalSupplyStake); } function totalInFaaSPool() public view returns (uint256) { uint256 total = 0; uint256 i; for (i = 0; i < totalFaasPools; i++) { total = total.add(bsdsToken.balanceOf(address(faasPools[i]))); } return total; } function totalInStakePool() public view returns (uint256) { uint256 total = 0; uint256 i; for (i = 0; i < totalStakePools; i++) { total = total.add(bsdsToken.balanceOf(address(stakePools[i]))); } return total; } function getBsdsAmountInPool(address _voter) internal view returns (uint256) { uint256 stakeAmount = 0; for (uint256 i = 0; i < totalFaasPools; i++) { (uint256 _stakeAmountInPool, , , , ) = faasPools[i].getUserInfo(uint8(0), _voter); stakeAmount = stakeAmount.add(_stakeAmountInPool.mul(faasPools[i].getBalance(bsds)).div(faasPools[i].totalSupply())); } return stakeAmount; } function getBsdsAmountInStakeContracts(address _voter) internal view returns (uint256) { uint256 stakeAmount = 0; for (uint256 i = 0; i < totalStakePools; i++) { stakeAmount = stakeAmount.add(stakePools[i].balanceOf(_voter)); } return stakeAmount; } function balanceOf(address _voter) public view override returns (uint256) { uint256 balanceInPool = getBsdsAmountInPool(_voter); uint256 balanceInStakeContract = getBsdsAmountInStakeContracts(_voter); return balanceInPool.add(balanceInStakeContract); } function setFaasPools(address[] memory _faasPoolAddresses) external { require(msg.sender == governance, "!governance"); _setFaasPools(_faasPoolAddresses); } function setStakePools(address[] memory _stakePoolAddresses) external { require(msg.sender == governance, "!governance"); _setStakePools(_stakePoolAddresses); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_bsds","type":"address"},{"internalType":"address[]","name":"_faasPoolAddresses","type":"address[]"},{"internalType":"address[]","name":"_stakePoolAddresses","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bsds","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"faasPools","outputs":[{"internalType":"contract IFaasPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_faasPoolAddresses","type":"address[]"}],"name":"setFaasPools","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_stakePoolAddresses","type":"address[]"}],"name":"setStakePools","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakePools","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFaasPools","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalInFaaSPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalInStakePool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStakePools","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200101938038062001019833981810160405260608110156200003757600080fd5b8151602083018051604051929492938301929190846401000000008211156200005f57600080fd5b9083019060208201858111156200007557600080fd5b82518660208202830111640100000000821117156200009357600080fd5b82525081516020918201928201910280838360005b83811015620000c2578181015183820152602001620000a8565b5050505090500160405260200180516040519392919084640100000000821115620000ec57600080fd5b9083019060208201858111156200010257600080fd5b82518660208202830111640100000000821117156200012057600080fd5b82525081516020918201928201910280838360005b838110156200014f57818101518382015260200162000135565b505050509050016040525050506200016d82620001bc60201b60201c565b62000178816200021e565b5050601580546001600160a01b039283166001600160a01b03199182161791829055601480548216929093169190911790915560188054909116331790556200027c565b805160165560005b6016548110156200021a57818181518110620001dc57fe5b6020026020010151600082600a8110620001f257fe5b0180546001600160a01b0319166001600160a01b0392909216919091179055600101620001c4565b5050565b805160175560005b6017548110156200021a578181815181106200023e57fe5b6020026020010151600a82600a81106200025457fe5b0180546001600160a01b0319166001600160a01b039290921691909117905560010162000226565b610d8d806200028c6000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c806370a082311161008c578063c6dd6edf11610066578063c6dd6edf1461025a578063f784a603146102fd578063f87e95ca14610305578063fc03327814610322576100df565b806370a08231146102175780639f93993c1461024a578063a8dd8e6414610252576100df565b806331f57ff2116100bd57806331f57ff2146101245780635aa6e6751461016a5780635baace1414610172576100df565b8063048898b7146100e457806318160ddd146100fe578063313ce56714610106575b600080fd5b6100ec61032a565b60408051918252519081900360200190f35b6100ec610416565b61010e610559565b6040805160ff9092168252519081900360200190f35b6101416004803603602081101561013a57600080fd5b503561055e565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610141610588565b6102156004803603602081101561018857600080fd5b8101906020810181356401000000008111156101a357600080fd5b8201836020820111156101b557600080fd5b803590602001918460208302840111640100000000831117156101d757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506105a4945050505050565b005b6100ec6004803603602081101561022d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610636565b6100ec610663565b6101416106ab565b6102156004803603602081101561027057600080fd5b81019060208101813564010000000081111561028b57600080fd5b82018360208201111561029d57600080fd5b803590602001918460208302840111640100000000831117156102bf57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506106c7945050505050565b6100ec610756565b6101416004803603602081101561031b57600080fd5b503561075c565b6100ec610769565b600080805b601754811015610410576014546104069073ffffffffffffffffffffffffffffffffffffffff166370a08231600a8481811061036757fe5b0154604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff9092166004830152516024808301926020929190829003018186803b1580156103d357600080fd5b505afa1580156103e7573d6000803e3d6000fd5b505050506040513d60208110156103fd57600080fd5b5051839061076f565b915060010161032f565b50905090565b600080805b60165481101561045e576014546104549073ffffffffffffffffffffffffffffffffffffffff166370a08231600084600a811061036757fe5b915060010161041b565b506000805b6017548210156105475760145461053a9073ffffffffffffffffffffffffffffffffffffffff166370a08231600a8581811061049b57fe5b0154604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff9092166004830152516024808301926020929190829003018186803b15801561050757600080fd5b505afa15801561051b573d6000803e3d6000fd5b505050506040513d602081101561053157600080fd5b5051829061076f565b6001909201919050610463565b610551838261076f565b935050505090565b601290565b600a81600a811061056b57fe5b015473ffffffffffffffffffffffffffffffffffffffff16905081565b60185473ffffffffffffffffffffffffffffffffffffffff1681565b60185473ffffffffffffffffffffffffffffffffffffffff16331461062a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21676f7665726e616e6365000000000000000000000000000000000000000000604482015290519081900360640190fd5b610633816107ec565b50565b6000806106428361086f565b9050600061064f84610ab0565b905061065b828261076f565b949350505050565b600080805b601654811015610410576014546106a19073ffffffffffffffffffffffffffffffffffffffff166370a08231600084600a811061036757fe5b9150600101610668565b60155473ffffffffffffffffffffffffffffffffffffffff1681565b60185473ffffffffffffffffffffffffffffffffffffffff16331461074d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21676f7665726e616e6365000000000000000000000000000000000000000000604482015290519081900360640190fd5b61063381610b4b565b60165481565b600081600a811061056b57fe5b60175481565b6000828201838110156107e357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b805160165560005b60165481101561086b5781818151811061080a57fe5b6020026020010151600082600a811061081f57fe5b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556001016107f4565b5050565b600080805b601654811015610aa95760008082600a811061088c57fe5b0154604080517f29d795880000000000000000000000000000000000000000000000000000000081526000600482015273ffffffffffffffffffffffffffffffffffffffff8881166024830152915191909216916329d795889160448083019260a0929190829003018186803b15801561090557600080fd5b505afa158015610919573d6000803e3d6000fd5b505050506040513d60a081101561092f57600080fd5b50519050610a9e610a97600084600a811061094657fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ad57600080fd5b505afa1580156109c1573d6000803e3d6000fd5b505050506040513d60208110156109d757600080fd5b5051610a91600086600a81106109e957fe5b0154601554604080517ff8b2cb4f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529051919092169163f8b2cb4f916024808301926020929190829003018186803b158015610a5e57600080fd5b505afa158015610a72573d6000803e3d6000fd5b505050506040513d6020811015610a8857600080fd5b50518590610bca565b90610c3d565b849061076f565b925050600101610874565b5092915050565b600080805b601754811015610aa957610b41600a82600a8110610acf57fe5b0154604080517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156103d357600080fd5b9150600101610ab5565b805160175560005b60175481101561086b57818181518110610b6957fe5b6020026020010151600a82600a8110610b7e57fe5b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600101610b53565b600082610bd9575060006107e6565b82820282848281610be657fe5b04146107e3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610d376021913960400191505060405180910390fd5b60006107e383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183610d20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ce5578181015183820152602001610ccd565b50505050905090810190601f168015610d125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610d2c57fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220e25d8ed17cc8325ed23148f2ec31201c2d621761aff450bae582aa78a38fc52664736f6c634300060c0033000000000000000000000000e7c9c188138f7d70945d420d75f8ca7d8ab9c700000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000dd82e4227baec1fc40a72ef9895f38f2c1df4f420000000000000000000000008438d64da58772e9f7fceaa1506ba300f935abbd0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b9fb8a22908c570c09a4dbf5f89b87f9d91fbf4a
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100df5760003560e01c806370a082311161008c578063c6dd6edf11610066578063c6dd6edf1461025a578063f784a603146102fd578063f87e95ca14610305578063fc03327814610322576100df565b806370a08231146102175780639f93993c1461024a578063a8dd8e6414610252576100df565b806331f57ff2116100bd57806331f57ff2146101245780635aa6e6751461016a5780635baace1414610172576100df565b8063048898b7146100e457806318160ddd146100fe578063313ce56714610106575b600080fd5b6100ec61032a565b60408051918252519081900360200190f35b6100ec610416565b61010e610559565b6040805160ff9092168252519081900360200190f35b6101416004803603602081101561013a57600080fd5b503561055e565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610141610588565b6102156004803603602081101561018857600080fd5b8101906020810181356401000000008111156101a357600080fd5b8201836020820111156101b557600080fd5b803590602001918460208302840111640100000000831117156101d757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506105a4945050505050565b005b6100ec6004803603602081101561022d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610636565b6100ec610663565b6101416106ab565b6102156004803603602081101561027057600080fd5b81019060208101813564010000000081111561028b57600080fd5b82018360208201111561029d57600080fd5b803590602001918460208302840111640100000000831117156102bf57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506106c7945050505050565b6100ec610756565b6101416004803603602081101561031b57600080fd5b503561075c565b6100ec610769565b600080805b601754811015610410576014546104069073ffffffffffffffffffffffffffffffffffffffff166370a08231600a8481811061036757fe5b0154604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff9092166004830152516024808301926020929190829003018186803b1580156103d357600080fd5b505afa1580156103e7573d6000803e3d6000fd5b505050506040513d60208110156103fd57600080fd5b5051839061076f565b915060010161032f565b50905090565b600080805b60165481101561045e576014546104549073ffffffffffffffffffffffffffffffffffffffff166370a08231600084600a811061036757fe5b915060010161041b565b506000805b6017548210156105475760145461053a9073ffffffffffffffffffffffffffffffffffffffff166370a08231600a8581811061049b57fe5b0154604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff9092166004830152516024808301926020929190829003018186803b15801561050757600080fd5b505afa15801561051b573d6000803e3d6000fd5b505050506040513d602081101561053157600080fd5b5051829061076f565b6001909201919050610463565b610551838261076f565b935050505090565b601290565b600a81600a811061056b57fe5b015473ffffffffffffffffffffffffffffffffffffffff16905081565b60185473ffffffffffffffffffffffffffffffffffffffff1681565b60185473ffffffffffffffffffffffffffffffffffffffff16331461062a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21676f7665726e616e6365000000000000000000000000000000000000000000604482015290519081900360640190fd5b610633816107ec565b50565b6000806106428361086f565b9050600061064f84610ab0565b905061065b828261076f565b949350505050565b600080805b601654811015610410576014546106a19073ffffffffffffffffffffffffffffffffffffffff166370a08231600084600a811061036757fe5b9150600101610668565b60155473ffffffffffffffffffffffffffffffffffffffff1681565b60185473ffffffffffffffffffffffffffffffffffffffff16331461074d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21676f7665726e616e6365000000000000000000000000000000000000000000604482015290519081900360640190fd5b61063381610b4b565b60165481565b600081600a811061056b57fe5b60175481565b6000828201838110156107e357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b805160165560005b60165481101561086b5781818151811061080a57fe5b6020026020010151600082600a811061081f57fe5b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556001016107f4565b5050565b600080805b601654811015610aa95760008082600a811061088c57fe5b0154604080517f29d795880000000000000000000000000000000000000000000000000000000081526000600482015273ffffffffffffffffffffffffffffffffffffffff8881166024830152915191909216916329d795889160448083019260a0929190829003018186803b15801561090557600080fd5b505afa158015610919573d6000803e3d6000fd5b505050506040513d60a081101561092f57600080fd5b50519050610a9e610a97600084600a811061094657fe5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ad57600080fd5b505afa1580156109c1573d6000803e3d6000fd5b505050506040513d60208110156109d757600080fd5b5051610a91600086600a81106109e957fe5b0154601554604080517ff8b2cb4f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529051919092169163f8b2cb4f916024808301926020929190829003018186803b158015610a5e57600080fd5b505afa158015610a72573d6000803e3d6000fd5b505050506040513d6020811015610a8857600080fd5b50518590610bca565b90610c3d565b849061076f565b925050600101610874565b5092915050565b600080805b601754811015610aa957610b41600a82600a8110610acf57fe5b0154604080517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156103d357600080fd5b9150600101610ab5565b805160175560005b60175481101561086b57818181518110610b6957fe5b6020026020010151600a82600a8110610b7e57fe5b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055600101610b53565b600082610bd9575060006107e6565b82820282848281610be657fe5b04146107e3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610d376021913960400191505060405180910390fd5b60006107e383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183610d20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ce5578181015183820152602001610ccd565b50505050905090810190601f168015610d125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610d2c57fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220e25d8ed17cc8325ed23148f2ec31201c2d621761aff450bae582aa78a38fc52664736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000e7c9c188138f7d70945d420d75f8ca7d8ab9c700000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000dd82e4227baec1fc40a72ef9895f38f2c1df4f420000000000000000000000008438d64da58772e9f7fceaa1506ba300f935abbd0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b9fb8a22908c570c09a4dbf5f89b87f9d91fbf4a
-----Decoded View---------------
Arg [0] : _bsds (address): 0xE7C9C188138f7D70945D420d75F8Ca7d8ab9c700
Arg [1] : _faasPoolAddresses (address[]): 0xdD82e4227BaeC1Fc40a72ef9895f38f2C1Df4F42,0x8438d64Da58772E9F7FCeAa1506bA300F935ABBd
Arg [2] : _stakePoolAddresses (address[]): 0xb9Fb8a22908c570C09a4Dbf5F89b87f9D91FBf4a
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 000000000000000000000000e7c9c188138f7d70945d420d75f8ca7d8ab9c700
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [4] : 000000000000000000000000dd82e4227baec1fc40a72ef9895f38f2c1df4f42
Arg [5] : 0000000000000000000000008438d64da58772e9f7fceaa1506ba300f935abbd
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [7] : 000000000000000000000000b9fb8a22908c570c09a4dbf5f89b87f9d91fbf4a
Deployed Bytecode Sourcemap
8841:3819:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10952:274;;;:::i;:::-;;;;;;;;;;;;;;;;10129:536;;;:::i;10021:100::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8951:28;;;;;;;;;;;;;;;;-1:-1:-1;8951:28:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;9108:25;;;:::i;12287:179::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12287:179:0;;-1:-1:-1;12287:179:0;;-1:-1:-1;;;;;12287:179:0:i;:::-;;11995:284;;;;;;;;;;;;;;;;-1:-1:-1;11995:284:0;;;;:::i;10673:271::-;;;:::i;9009:19::-;;;:::i;12474:183::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12474:183:0;;-1:-1:-1;12474:183:0;;-1:-1:-1;;;;;12474:183:0:i;9035:29::-;;;:::i;8914:30::-;;;;;;;;;;;;;;;;-1:-1:-1;8914:30:0;;:::i;9071:::-;;;:::i;10952:274::-;11001:7;;;11069:127;11085:15;;11081:1;:19;11069:127;;;11140:9;;11130:54;;11140:9;;:19;11168:10;11179:1;11168:13;;;;;;;;;11140:43;;;;;;;;;;;11168:13;;;;11140:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11140:43:0;11130:5;;:9;:54::i;:::-;11122:62;-1:-1:-1;11102:3:0;;11069:127;;;-1:-1:-1;11213:5:0;-1:-1:-1;10952:274:0;:::o;10129:536::-;10182:7;;;10260:145;10276:14;;10272:1;:18;10260:145;;;10350:9;;10330:63;;10350:9;;:19;:9;10388:1;10378:12;;;;;;10330:63;10312:81;-1:-1:-1;10292:3:0;;10260:145;;;-1:-1:-1;10415:24:0;;10454:149;10470:15;;10466:1;:19;10454:149;;;10547:9;;10526:65;;10547:9;;:19;10575:10;10586:1;10575:13;;;;;;;;;10547:43;;;;;;;;;;;10575:13;;;;10547:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10547:43:0;10526:16;;:20;:65::i;:::-;10487:3;;;;;10507:84;-1:-1:-1;10454:149:0;;;10620:37;:15;10640:16;10620:19;:37::i;:::-;10613:44;;;;;10129:536;:::o;10021:100::-;10110:2;10021:100;:::o;8951:28::-;;;;;;;;;;;;;;;-1:-1:-1;8951:28:0;:::o;9108:25::-;;;;;;:::o;12287:179::-;12388:10;;;;12374;:24;12366:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12425:33;12439:18;12425:13;:33::i;:::-;12287:179;:::o;11995:284::-;12060:7;12080:21;12104:27;12124:6;12104:19;:27::i;:::-;12080:51;;12142:30;12175:37;12205:6;12175:29;:37::i;:::-;12142:70;-1:-1:-1;12230:41:0;:13;12142:70;12230:17;:41::i;:::-;12223:48;11995:284;-1:-1:-1;;;;11995:284:0:o;10673:271::-;10721:7;;;10789:125;10805:14;;10801:1;:18;10789:125;;;10859:9;;10849:53;;10859:9;;:19;:9;10897:1;10887:12;;;;;;10849:53;10841:61;-1:-1:-1;10821:3:0;;10789:125;;9009:19;;;;;;:::o;12474:183::-;12577:10;;;;12563;:24;12555:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12614:35;12629:19;12614:14;:35::i;9035:29::-;;;;:::o;8914:30::-;;;;;;;;;9071;;;;:::o;902:181::-;960:7;992:5;;;1016:6;;;;1008:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1074:1;-1:-1:-1;902:181:0;;;;;:::o;9483:259::-;9580:25;;9563:14;:42;9621:9;9616:119;9640:14;;9636:1;:18;9616:119;;;9701:18;9720:1;9701:21;;;;;;;;;;;;;;9676:9;9686:1;9676:12;;;;;;;;:47;;;;;;;;;;;;;;;-1:-1:-1;9656:3:0;9616:119;;;;9483:259;:::o;11234:442::-;11302:7;;;11356:284;11380:14;;11376:1;:18;11356:284;;;11417:26;11455:9;11465:1;11455:12;;;;;;;;;:42;;;;;;:12;:42;;;;:12;:42;;;;;;;;;:12;;;;;:24;;:42;;;;;;;;;;;;;;:12;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11455:42:0;;-1:-1:-1;11526:102:0;11542:85;11600:9;11610:1;11600:12;;;;;;;;;;;;;;;;;;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11600:26:0;11542:53;11565:9;11575:1;11565:12;;;;;;;;;11589:4;;11565:29;;;;;;:12;11589:4;;;11565:29;;;;;;:12;;;;;:23;;:29;;;;;;;;;;;;;;:12;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11565:29:0;11542:18;;:22;:53::i;:::-;:57;;:85::i;:::-;11526:11;;:15;:102::i;:::-;11512:116;-1:-1:-1;;11396:3:0;;11356:284;;;-1:-1:-1;11657:11:0;11234:442;-1:-1:-1;;11234:442:0:o;11684:303::-;11762:7;;;11816:135;11840:15;;11836:1;:19;11816:135;;;11891:48;11907:10;11918:1;11907:13;;;;;;;;;:31;;;;;;:13;:31;;;;;;;;;:13;;;;;:23;;:31;;;;;;;;;;;;;;:13;:31;;;;;;;;;;11891:48;11877:62;-1:-1:-1;11857:3:0;;11816:135;;9750:263;9850:26;;9832:15;:44;9892:9;9887:119;9911:15;;9907:1;:19;9887:119;;;9971:19;9991:1;9971:22;;;;;;;;;;;;;;9948:10;9959:1;9948:13;;;;;;;;:46;;;;;;;;;;;;;;;-1:-1:-1;9928:3:0;9887:119;;2290:471;2348:7;2593:6;2589:47;;-1:-1:-1;2623:1:0;2616:8;;2589:47;2660:5;;;2664:1;2660;:5;:1;2684:5;;;;;:10;2676:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3237:132;3295:7;3322:39;3326:1;3329;3322:39;;;;;;;;;;;;;;;;;3985:7;4020:12;4013:5;4005:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4044:9;4060:1;4056;:5;;;;;;;3865:312;-1:-1:-1;;;;;3865:312:0:o
Swarm Source
ipfs://e25d8ed17cc8325ed23148f2ec31201c2d621761aff450bae582aa78a38fc526
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.