Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
GlobalConfig
Compiler Version
v0.5.14+commit.01f1aaa4
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-07-26 */ pragma solidity 0.5.14; /** * @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. * * _Available since v2.4.0._ */ 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. * * _Available since v2.4.0._ */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 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. * * _Available since v2.4.0._ */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } /* * @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 GSN 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. */ contract Context { // Empty internal constructor, to prevent people from mistakenly deploying // an instance of this contract, which should be used via inheritance. constructor () internal { } // solhint-disable-previous-line no-empty-blocks function _msgSender() internal view returns (address payable) { return msg.sender; } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } /** * @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. * * 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. */ 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 () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return _msgSender() == _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 onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = 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 onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract GlobalConfig is Ownable { using SafeMath for uint256; uint256 public communityFundRatio = 10; uint256 public minReserveRatio = 10; uint256 public maxReserveRatio = 20; uint256 public liquidationThreshold = 85; uint256 public liquidationDiscountRatio = 95; uint256 public compoundSupplyRateWeights = 4; uint256 public compoundBorrowRateWeights = 6; uint256 public rateCurveSlope = 15 * 10 ** 16; uint256 public rateCurveConstant = 3 * 10 ** 16; uint256 public deFinerRate = 10; address payable public deFinerCommunityFund = msg.sender; address public bank; // the Bank contract address public savingAccount; // the SavingAccount contract address public tokenInfoRegistry; // the TokenRegistry contract address public accounts; // the Accounts contract address public constants; // the constants contract address public chainLink; event CommunityFundRatioUpdated(uint256 indexed communityFundRatio); event MinReserveRatioUpdated(uint256 indexed minReserveRatio); event MaxReserveRatioUpdated(uint256 indexed maxReserveRatio); event LiquidationThresholdUpdated(uint256 indexed liquidationThreshold); event LiquidationDiscountRatioUpdated(uint256 indexed liquidationDiscountRatio); event CompoundSupplyRateWeightsUpdated(uint256 indexed compoundSupplyRateWeights); event CompoundBorrowRateWeightsUpdated(uint256 indexed compoundBorrowRateWeights); event rateCurveSlopeUpdated(uint256 indexed rateCurveSlope); event rateCurveConstantUpdated(uint256 indexed rateCurveConstant); event ConstantUpdated(address indexed constants); event BankUpdated(address indexed bank); event SavingAccountUpdated(address indexed savingAccount); event TokenInfoRegistryUpdated(address indexed tokenInfoRegistry); event AccountsUpdated(address indexed accounts); event DeFinerCommunityFundUpdated(address indexed deFinerCommunityFund); event DeFinerRateUpdated(uint256 indexed deFinerRate); event ChainLinkUpdated(address indexed chainLink); function initialize( address _bank, address _savingAccount, address _tokenInfoRegistry, address _accounts, address _constants, address _chainLink ) public onlyOwner { bank = _bank; savingAccount = _savingAccount; tokenInfoRegistry = _tokenInfoRegistry; accounts = _accounts; constants = _constants; chainLink = _chainLink; } /** * Update the community fund (commision fee) ratio. * @param _communityFundRatio the new ratio */ function updateCommunityFundRatio(uint256 _communityFundRatio) external onlyOwner { if (_communityFundRatio == communityFundRatio) return; require(_communityFundRatio > 0 && _communityFundRatio < 100, "Invalid community fund ratio."); communityFundRatio = _communityFundRatio; emit CommunityFundRatioUpdated(_communityFundRatio); } /** * Update the minimum reservation reatio * @param _minReserveRatio the new value of the minimum reservation ratio */ function updateMinReserveRatio(uint256 _minReserveRatio) external onlyOwner { if (_minReserveRatio == minReserveRatio) return; require(_minReserveRatio > 0 && _minReserveRatio < maxReserveRatio, "Invalid min reserve ratio."); minReserveRatio = _minReserveRatio; emit MinReserveRatioUpdated(_minReserveRatio); } /** * Update the maximum reservation reatio * @param _maxReserveRatio the new value of the maximum reservation ratio */ function updateMaxReserveRatio(uint256 _maxReserveRatio) external onlyOwner { if (_maxReserveRatio == maxReserveRatio) return; require(_maxReserveRatio > minReserveRatio && _maxReserveRatio < 100, "Invalid max reserve ratio."); maxReserveRatio = _maxReserveRatio; emit MaxReserveRatioUpdated(_maxReserveRatio); } /** * Update the liquidation threshold, i.e. the LTV that will trigger the liquidation. * @param _liquidationThreshold the new threshhold value */ function updateLiquidationThreshold(uint256 _liquidationThreshold) external onlyOwner { if (_liquidationThreshold == liquidationThreshold) return; require(_liquidationThreshold > 0 && _liquidationThreshold < liquidationDiscountRatio, "Invalid liquidation threshold."); liquidationThreshold = _liquidationThreshold; emit LiquidationThresholdUpdated(_liquidationThreshold); } /** * Update the liquidation discount * @param _liquidationDiscountRatio the new liquidation discount */ function updateLiquidationDiscountRatio(uint256 _liquidationDiscountRatio) external onlyOwner { if (_liquidationDiscountRatio == liquidationDiscountRatio) return; require(_liquidationDiscountRatio > liquidationThreshold && _liquidationDiscountRatio < 100, "Invalid liquidation discount ratio."); liquidationDiscountRatio = _liquidationDiscountRatio; emit LiquidationDiscountRatioUpdated(_liquidationDiscountRatio); } /** * Medium value of the reservation ratio, which is the value that the pool try to maintain. */ function midReserveRatio() public view returns(uint256){ return minReserveRatio.add(maxReserveRatio).div(2); } function updateCompoundSupplyRateWeights(uint256 _compoundSupplyRateWeights) external onlyOwner{ compoundSupplyRateWeights = _compoundSupplyRateWeights; emit CompoundSupplyRateWeightsUpdated(_compoundSupplyRateWeights); } function updateCompoundBorrowRateWeights(uint256 _compoundBorrowRateWeights) external onlyOwner{ compoundBorrowRateWeights = _compoundBorrowRateWeights; emit CompoundBorrowRateWeightsUpdated(_compoundBorrowRateWeights); } function updaterateCurveSlope(uint256 _rateCurveSlope) external onlyOwner{ rateCurveSlope = _rateCurveSlope; emit rateCurveSlopeUpdated(_rateCurveSlope); } function updaterateCurveConstant(uint256 _rateCurveConstant) external onlyOwner{ rateCurveConstant = _rateCurveConstant; emit rateCurveConstantUpdated(_rateCurveConstant); } function updateBank(address _bank) external onlyOwner{ bank = _bank; emit BankUpdated(_bank); } function updateSavingAccount(address _savingAccount) external onlyOwner{ savingAccount = _savingAccount; emit SavingAccountUpdated(_savingAccount); } function updateTokenInfoRegistry(address _tokenInfoRegistry) external onlyOwner{ tokenInfoRegistry = _tokenInfoRegistry; emit TokenInfoRegistryUpdated(_tokenInfoRegistry); } function updateAccounts(address _accounts) external onlyOwner{ accounts = _accounts; emit AccountsUpdated(_accounts); } function updateConstant(address _constants) external onlyOwner{ constants = _constants; emit ConstantUpdated(_constants); } function updatedeFinerCommunityFund(address payable _deFinerCommunityFund) external onlyOwner{ deFinerCommunityFund = _deFinerCommunityFund; emit DeFinerCommunityFundUpdated(_deFinerCommunityFund); } function updatedeFinerRate(uint256 _deFinerRate) external onlyOwner{ require(_deFinerRate <= 100,"_deFinerRate cannot exceed 100"); deFinerRate = _deFinerRate; emit DeFinerRateUpdated(_deFinerRate); } function updateChainLink(address _chainLink) external onlyOwner{ chainLink = _chainLink; emit ChainLinkUpdated(_chainLink); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"accounts","type":"address"}],"name":"AccountsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"bank","type":"address"}],"name":"BankUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"chainLink","type":"address"}],"name":"ChainLinkUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"communityFundRatio","type":"uint256"}],"name":"CommunityFundRatioUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"compoundBorrowRateWeights","type":"uint256"}],"name":"CompoundBorrowRateWeightsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"compoundSupplyRateWeights","type":"uint256"}],"name":"CompoundSupplyRateWeightsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"constants","type":"address"}],"name":"ConstantUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"deFinerCommunityFund","type":"address"}],"name":"DeFinerCommunityFundUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"deFinerRate","type":"uint256"}],"name":"DeFinerRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"liquidationDiscountRatio","type":"uint256"}],"name":"LiquidationDiscountRatioUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"liquidationThreshold","type":"uint256"}],"name":"LiquidationThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"maxReserveRatio","type":"uint256"}],"name":"MaxReserveRatioUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"minReserveRatio","type":"uint256"}],"name":"MinReserveRatioUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"savingAccount","type":"address"}],"name":"SavingAccountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenInfoRegistry","type":"address"}],"name":"TokenInfoRegistryUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"rateCurveConstant","type":"uint256"}],"name":"rateCurveConstantUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"rateCurveSlope","type":"uint256"}],"name":"rateCurveSlopeUpdated","type":"event"},{"constant":true,"inputs":[],"name":"accounts","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bank","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"chainLink","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"communityFundRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"compoundBorrowRateWeights","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"compoundSupplyRateWeights","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"constants","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"deFinerCommunityFund","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"deFinerRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_bank","type":"address"},{"internalType":"address","name":"_savingAccount","type":"address"},{"internalType":"address","name":"_tokenInfoRegistry","type":"address"},{"internalType":"address","name":"_accounts","type":"address"},{"internalType":"address","name":"_constants","type":"address"},{"internalType":"address","name":"_chainLink","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationDiscountRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"liquidationThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxReserveRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"midReserveRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minReserveRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rateCurveConstant","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rateCurveSlope","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"savingAccount","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenInfoRegistry","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_accounts","type":"address"}],"name":"updateAccounts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_bank","type":"address"}],"name":"updateBank","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_chainLink","type":"address"}],"name":"updateChainLink","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_communityFundRatio","type":"uint256"}],"name":"updateCommunityFundRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_compoundBorrowRateWeights","type":"uint256"}],"name":"updateCompoundBorrowRateWeights","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_compoundSupplyRateWeights","type":"uint256"}],"name":"updateCompoundSupplyRateWeights","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_constants","type":"address"}],"name":"updateConstant","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_liquidationDiscountRatio","type":"uint256"}],"name":"updateLiquidationDiscountRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_liquidationThreshold","type":"uint256"}],"name":"updateLiquidationThreshold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_maxReserveRatio","type":"uint256"}],"name":"updateMaxReserveRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_minReserveRatio","type":"uint256"}],"name":"updateMinReserveRatio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_savingAccount","type":"address"}],"name":"updateSavingAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_tokenInfoRegistry","type":"address"}],"name":"updateTokenInfoRegistry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_deFinerCommunityFund","type":"address"}],"name":"updatedeFinerCommunityFund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_deFinerRate","type":"uint256"}],"name":"updatedeFinerRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rateCurveConstant","type":"uint256"}],"name":"updaterateCurveConstant","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rateCurveSlope","type":"uint256"}],"name":"updaterateCurveSlope","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600a60018190556002819055601460035560556004908155605f6005556006908155600755670214e8348c4f0000600855666a94d74f4300006009558055600b80546001600160a01b0319163317905560006100676001600160e01b036100b616565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506100ba565b3390565b61162e806100c96000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c80638da5cb5b1161013b578063c3693896116100b8578063d7693d311161007c578063d7693d3114610542578063ecc9870a1461055f578063f2fde38b14610567578063fb31ad171461058d578063fbe30a83146105b357610248565b8063c3693896146104aa578063c53d351b146104b2578063cc2a9a5b146104cf578063cc5738b51461051d578063d3b5be1a1461052557610248565b8063ace96d0e116100ff578063ace96d0e1461044f578063b3bd1c9514610457578063b442a2061461047d578063bdb0d27b14610485578063bf893914146104a257610248565b80638da5cb5b146103e05780638ea7c5cc146103e85780638f32d59b146104055780639895880f14610421578063a33ff7c21461042957610248565b806362891b66116101c9578063715018a61161018d578063715018a6146103a357806372de5b2f146103ab57806376cdb03b146103b35780637dbe5f10146103bb5780638682913a146103c357610248565b806362891b661461030e578063685ff7421461031657806368cd03f61461033c57806368ecef3f146103605780636f7744091461038657610248565b80633dedc31f116102105780633dedc31f146102bc5780634031234c146102d95780634802b7c1146102e157806355baaedb146102e95780635a596d1c1461030657610248565b806308fafb8d1461024d5780630c249bba1461026757806313afb8ef14610286578063268c74e41461028e578063375b47f714610296575b600080fd5b6102556105d9565b60408051918252519081900360200190f35b6102846004803603602081101561027d57600080fd5b50356105df565b005b610255610659565b61025561065f565b610284600480360360208110156102ac57600080fd5b50356001600160a01b0316610665565b610284600480360360208110156102d257600080fd5b50356106f6565b6102556107e1565b6102556107e7565b610284600480360360208110156102ff57600080fd5b50356107ed565b6102556108c2565b6102556108c8565b6102846004803603602081101561032c57600080fd5b50356001600160a01b03166108ce565b61034461095f565b604080516001600160a01b039092168252519081900360200190f35b6102846004803603602081101561037657600080fd5b50356001600160a01b031661096e565b6102846004803603602081101561039c57600080fd5b50356109ff565b610284610a79565b610344610b0a565b610344610b19565b610344610b28565b610284600480360360208110156103d957600080fd5b5035610b37565b610344610c22565b610284600480360360208110156103fe57600080fd5b5035610c31565b61040d610cab565b604080519115158252519081900360200190f35b610344610ccf565b6102846004803603602081101561043f57600080fd5b50356001600160a01b0316610cde565b610255610d6f565b6102846004803603602081101561046d57600080fd5b50356001600160a01b0316610d75565b610255610e06565b6102846004803603602081101561049b57600080fd5b5035610e0c565b610344610ef7565b610255610f06565b610284600480360360208110156104c857600080fd5b5035610f35565b610284600480360360c08110156104e557600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a0013516611005565b6103446110bb565b6102846004803603602081101561053b57600080fd5b50356110ca565b6102846004803603602081101561055857600080fd5b50356111b5565b61025561122f565b6102846004803603602081101561057d57600080fd5b50356001600160a01b0316611235565b610284600480360360208110156105a357600080fd5b50356001600160a01b0316611285565b610284600480360360208110156105c957600080fd5b50356001600160a01b0316611316565b60065481565b6105e7610cab565b610626576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600681905560405181907f8792cb1bfe416f1cc137479efed54b16c110e386f36ab33d269896b79dd96a2190600090a250565b60075481565b60035481565b61066d610cab565b6106ac576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600f80546001600160a01b0319166001600160a01b0383169081179091556040517fbecde7fe690c73ba54232f00eb06c31464f65b45aff18984febaa80df22dcb8d90600090a250565b6106fe610cab565b61073d576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b60015481141561074c576107de565b60008111801561075c5750606481105b6107ad576040805162461bcd60e51b815260206004820152601d60248201527f496e76616c696420636f6d6d756e6974792066756e6420726174696f2e000000604482015290519081900360640190fd5b600181905560405181907f68fcc248082a4ef6255e917b838adc7d786d2c513312b39a8b8f747f591e92a390600090a25b50565b60045481565b60055481565b6107f5610cab565b610834576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600554811415610843576107de565b600454811180156108545750606481105b61088f5760405162461bcd60e51b81526004018080602001828103825260238152602001806115d76023913960400191505060405180910390fd5b600581905560405181907fdd3919209b55cc8a36f80e4e59ed2a7f25eb84b426cb98e13b9805b56c9fd87890600090a250565b60025481565b60015481565b6108d6610cab565b610915576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b601080546001600160a01b0319166001600160a01b0383169081179091556040517f512865ab9ff06b203689e1921943ed54a8ccd9c9586d66a96c3e8a5120fc494d90600090a250565b600f546001600160a01b031681565b610976610cab565b6109b5576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600d80546001600160a01b0319166001600160a01b0383169081179091556040517f37a03df42042204c7ea3f0d9dbe44283a33f092125dbdb9f561e884f883fc9a790600090a250565b610a07610cab565b610a46576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600881905560405181907fe6f1a1db38b4abb216a95813fc49a730494a0c4e67180a3491095c9feb61b99f90600090a250565b610a81610cab565b610ac0576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6010546001600160a01b031681565b600c546001600160a01b031681565b6011546001600160a01b031681565b610b3f610cab565b610b7e576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600354811415610b8d576107de565b60025481118015610b9e5750606481105b610bef576040805162461bcd60e51b815260206004820152601a60248201527f496e76616c6964206d6178207265736572766520726174696f2e000000000000604482015290519081900360640190fd5b600381905560405181907f09edb0c5d800f863437b3a2bbda62e87670a2ee0d0d7393d91528b86653686bf90600090a250565b6000546001600160a01b031690565b610c39610cab565b610c78576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600981905560405181907fb9b54965572c57575800da41b416fdc81a77e9531892e14a2b8ce6f610776dd290600090a250565b600080546001600160a01b0316610cc06113a7565b6001600160a01b031614905090565b600e546001600160a01b031681565b610ce6610cab565b610d25576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600c80546001600160a01b0319166001600160a01b0383169081179091556040517ffe3d990e3bb62dbf6649423f21da0662810b4f2705032857be268654dea04b8290600090a250565b600a5481565b610d7d610cab565b610dbc576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600e80546001600160a01b0319166001600160a01b0383169081179091556040517fe8e1a5b0429912cccc46fe2db8f5674dde0987ffc2ef354fbde0344bad0a2abc90600090a250565b60095481565b610e14610cab565b610e53576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600254811415610e62576107de565b600081118015610e73575060035481105b610ec4576040805162461bcd60e51b815260206004820152601a60248201527f496e76616c6964206d696e207265736572766520726174696f2e000000000000604482015290519081900360640190fd5b600281905560405181907f9908ecf4f1e73ff46a5b94dbb96bd3e037f287f9878cae493114fb422484b1a590600090a250565b600b546001600160a01b031681565b6000610f306002610f246003546002546113ab90919063ffffffff16565b9063ffffffff61140c16565b905090565b610f3d610cab565b610f7c576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b6064811115610fd2576040805162461bcd60e51b815260206004820152601e60248201527f5f646546696e6572526174652063616e6e6f7420657863656564203130300000604482015290519081900360640190fd5b600a81905560405181907f3c192391bb396d800b83e59fa038c7d71e0a7f839a4237a53a5737bc5ca3da7c90600090a250565b61100d610cab565b61104c576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600c80546001600160a01b03199081166001600160a01b0398891617909155600d8054821696881696909617909555600e8054861694871694909417909355600f8054851692861692909217909155601080548416918516919091179055601180549092169216919091179055565b600d546001600160a01b031681565b6110d2610cab565b611111576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600454811415611120576107de565b600081118015611131575060055481105b611182576040805162461bcd60e51b815260206004820152601e60248201527f496e76616c6964206c69717569646174696f6e207468726573686f6c642e0000604482015290519081900360640190fd5b600481905560405181907feba9f700db57a60a859189ecad4492254a5045e5cae74167bae53564fdea10ca90600090a250565b6111bd610cab565b6111fc576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600781905560405181907f69b1319629d69f49c839d9b85118b8f386ad5941c3f6345d62bd383a4dc487b590600090a250565b60085481565b61123d610cab565b61127c576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b6107de8161144e565b61128d610cab565b6112cc576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600b80546001600160a01b0319166001600160a01b0383169081179091556040517fef8b5647c690089c14520df26f037bc8e972b2288a14444f356a51320b79e5c790600090a250565b61131e610cab565b61135d576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0383169081179091556040517fa83483d5dc3f2e6615872c0fb282f305c67ac075c766cfb5c38b59f7a25ad12890600090a250565b3390565b600082820183811015611405576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600061140583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114ee565b6001600160a01b0381166114935760405162461bcd60e51b81526004018080602001828103825260268152602001806115916026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000818361157a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561153f578181015183820152602001611527565b50505050905090810190601f16801561156c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161158657fe5b049594505050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572496e76616c6964206c69717569646174696f6e20646973636f756e7420726174696f2ea265627a7a72315820a7c07d22f856a92a3b89c206c3fdf22bb5dd5441d92ce6292bcb4af1e42fa55564736f6c634300050e0032
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106102485760003560e01c80638da5cb5b1161013b578063c3693896116100b8578063d7693d311161007c578063d7693d3114610542578063ecc9870a1461055f578063f2fde38b14610567578063fb31ad171461058d578063fbe30a83146105b357610248565b8063c3693896146104aa578063c53d351b146104b2578063cc2a9a5b146104cf578063cc5738b51461051d578063d3b5be1a1461052557610248565b8063ace96d0e116100ff578063ace96d0e1461044f578063b3bd1c9514610457578063b442a2061461047d578063bdb0d27b14610485578063bf893914146104a257610248565b80638da5cb5b146103e05780638ea7c5cc146103e85780638f32d59b146104055780639895880f14610421578063a33ff7c21461042957610248565b806362891b66116101c9578063715018a61161018d578063715018a6146103a357806372de5b2f146103ab57806376cdb03b146103b35780637dbe5f10146103bb5780638682913a146103c357610248565b806362891b661461030e578063685ff7421461031657806368cd03f61461033c57806368ecef3f146103605780636f7744091461038657610248565b80633dedc31f116102105780633dedc31f146102bc5780634031234c146102d95780634802b7c1146102e157806355baaedb146102e95780635a596d1c1461030657610248565b806308fafb8d1461024d5780630c249bba1461026757806313afb8ef14610286578063268c74e41461028e578063375b47f714610296575b600080fd5b6102556105d9565b60408051918252519081900360200190f35b6102846004803603602081101561027d57600080fd5b50356105df565b005b610255610659565b61025561065f565b610284600480360360208110156102ac57600080fd5b50356001600160a01b0316610665565b610284600480360360208110156102d257600080fd5b50356106f6565b6102556107e1565b6102556107e7565b610284600480360360208110156102ff57600080fd5b50356107ed565b6102556108c2565b6102556108c8565b6102846004803603602081101561032c57600080fd5b50356001600160a01b03166108ce565b61034461095f565b604080516001600160a01b039092168252519081900360200190f35b6102846004803603602081101561037657600080fd5b50356001600160a01b031661096e565b6102846004803603602081101561039c57600080fd5b50356109ff565b610284610a79565b610344610b0a565b610344610b19565b610344610b28565b610284600480360360208110156103d957600080fd5b5035610b37565b610344610c22565b610284600480360360208110156103fe57600080fd5b5035610c31565b61040d610cab565b604080519115158252519081900360200190f35b610344610ccf565b6102846004803603602081101561043f57600080fd5b50356001600160a01b0316610cde565b610255610d6f565b6102846004803603602081101561046d57600080fd5b50356001600160a01b0316610d75565b610255610e06565b6102846004803603602081101561049b57600080fd5b5035610e0c565b610344610ef7565b610255610f06565b610284600480360360208110156104c857600080fd5b5035610f35565b610284600480360360c08110156104e557600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608082013581169160a0013516611005565b6103446110bb565b6102846004803603602081101561053b57600080fd5b50356110ca565b6102846004803603602081101561055857600080fd5b50356111b5565b61025561122f565b6102846004803603602081101561057d57600080fd5b50356001600160a01b0316611235565b610284600480360360208110156105a357600080fd5b50356001600160a01b0316611285565b610284600480360360208110156105c957600080fd5b50356001600160a01b0316611316565b60065481565b6105e7610cab565b610626576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600681905560405181907f8792cb1bfe416f1cc137479efed54b16c110e386f36ab33d269896b79dd96a2190600090a250565b60075481565b60035481565b61066d610cab565b6106ac576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600f80546001600160a01b0319166001600160a01b0383169081179091556040517fbecde7fe690c73ba54232f00eb06c31464f65b45aff18984febaa80df22dcb8d90600090a250565b6106fe610cab565b61073d576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b60015481141561074c576107de565b60008111801561075c5750606481105b6107ad576040805162461bcd60e51b815260206004820152601d60248201527f496e76616c696420636f6d6d756e6974792066756e6420726174696f2e000000604482015290519081900360640190fd5b600181905560405181907f68fcc248082a4ef6255e917b838adc7d786d2c513312b39a8b8f747f591e92a390600090a25b50565b60045481565b60055481565b6107f5610cab565b610834576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600554811415610843576107de565b600454811180156108545750606481105b61088f5760405162461bcd60e51b81526004018080602001828103825260238152602001806115d76023913960400191505060405180910390fd5b600581905560405181907fdd3919209b55cc8a36f80e4e59ed2a7f25eb84b426cb98e13b9805b56c9fd87890600090a250565b60025481565b60015481565b6108d6610cab565b610915576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b601080546001600160a01b0319166001600160a01b0383169081179091556040517f512865ab9ff06b203689e1921943ed54a8ccd9c9586d66a96c3e8a5120fc494d90600090a250565b600f546001600160a01b031681565b610976610cab565b6109b5576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600d80546001600160a01b0319166001600160a01b0383169081179091556040517f37a03df42042204c7ea3f0d9dbe44283a33f092125dbdb9f561e884f883fc9a790600090a250565b610a07610cab565b610a46576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600881905560405181907fe6f1a1db38b4abb216a95813fc49a730494a0c4e67180a3491095c9feb61b99f90600090a250565b610a81610cab565b610ac0576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6010546001600160a01b031681565b600c546001600160a01b031681565b6011546001600160a01b031681565b610b3f610cab565b610b7e576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600354811415610b8d576107de565b60025481118015610b9e5750606481105b610bef576040805162461bcd60e51b815260206004820152601a60248201527f496e76616c6964206d6178207265736572766520726174696f2e000000000000604482015290519081900360640190fd5b600381905560405181907f09edb0c5d800f863437b3a2bbda62e87670a2ee0d0d7393d91528b86653686bf90600090a250565b6000546001600160a01b031690565b610c39610cab565b610c78576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600981905560405181907fb9b54965572c57575800da41b416fdc81a77e9531892e14a2b8ce6f610776dd290600090a250565b600080546001600160a01b0316610cc06113a7565b6001600160a01b031614905090565b600e546001600160a01b031681565b610ce6610cab565b610d25576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600c80546001600160a01b0319166001600160a01b0383169081179091556040517ffe3d990e3bb62dbf6649423f21da0662810b4f2705032857be268654dea04b8290600090a250565b600a5481565b610d7d610cab565b610dbc576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600e80546001600160a01b0319166001600160a01b0383169081179091556040517fe8e1a5b0429912cccc46fe2db8f5674dde0987ffc2ef354fbde0344bad0a2abc90600090a250565b60095481565b610e14610cab565b610e53576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600254811415610e62576107de565b600081118015610e73575060035481105b610ec4576040805162461bcd60e51b815260206004820152601a60248201527f496e76616c6964206d696e207265736572766520726174696f2e000000000000604482015290519081900360640190fd5b600281905560405181907f9908ecf4f1e73ff46a5b94dbb96bd3e037f287f9878cae493114fb422484b1a590600090a250565b600b546001600160a01b031681565b6000610f306002610f246003546002546113ab90919063ffffffff16565b9063ffffffff61140c16565b905090565b610f3d610cab565b610f7c576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b6064811115610fd2576040805162461bcd60e51b815260206004820152601e60248201527f5f646546696e6572526174652063616e6e6f7420657863656564203130300000604482015290519081900360640190fd5b600a81905560405181907f3c192391bb396d800b83e59fa038c7d71e0a7f839a4237a53a5737bc5ca3da7c90600090a250565b61100d610cab565b61104c576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600c80546001600160a01b03199081166001600160a01b0398891617909155600d8054821696881696909617909555600e8054861694871694909417909355600f8054851692861692909217909155601080548416918516919091179055601180549092169216919091179055565b600d546001600160a01b031681565b6110d2610cab565b611111576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600454811415611120576107de565b600081118015611131575060055481105b611182576040805162461bcd60e51b815260206004820152601e60248201527f496e76616c6964206c69717569646174696f6e207468726573686f6c642e0000604482015290519081900360640190fd5b600481905560405181907feba9f700db57a60a859189ecad4492254a5045e5cae74167bae53564fdea10ca90600090a250565b6111bd610cab565b6111fc576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600781905560405181907f69b1319629d69f49c839d9b85118b8f386ad5941c3f6345d62bd383a4dc487b590600090a250565b60085481565b61123d610cab565b61127c576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b6107de8161144e565b61128d610cab565b6112cc576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b600b80546001600160a01b0319166001600160a01b0383169081179091556040517fef8b5647c690089c14520df26f037bc8e972b2288a14444f356a51320b79e5c790600090a250565b61131e610cab565b61135d576040805162461bcd60e51b815260206004820181905260248201526000805160206115b7833981519152604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0383169081179091556040517fa83483d5dc3f2e6615872c0fb282f305c67ac075c766cfb5c38b59f7a25ad12890600090a250565b3390565b600082820183811015611405576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600061140583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114ee565b6001600160a01b0381166114935760405162461bcd60e51b81526004018080602001828103825260268152602001806115916026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000818361157a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561153f578181015183820152602001611527565b50505050905090810190601f16801561156c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161158657fe5b049594505050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572496e76616c6964206c69717569646174696f6e20646973636f756e7420726174696f2ea265627a7a72315820a7c07d22f856a92a3b89c206c3fdf22bb5dd5441d92ce6292bcb4af1e42fa55564736f6c634300050e0032
Deployed Bytecode Sourcemap
9003:8102:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9003:8102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9305:44;;;:::i;:::-;;;;;;;;;;;;;;;;14750:246;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14750:246:0;;:::i;:::-;;9356:44;;;:::i;9165:35::-;;;:::i;16168:144::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16168:144:0;-1:-1:-1;;;;;16168:144:0;;:::i;11782:402::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11782:402:0;;:::i;9207:40::-;;;:::i;9254:44::-;;;:::i;14008:487::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14008:487:0;;:::i;9123:35::-;;;:::i;9078:38::-;;;:::i;16320:148::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16320:148:0;-1:-1:-1;;;;;16320:148:0;;:::i;9843:23::-;;;:::i;:::-;;;;-1:-1:-1;;;;;9843:23:0;;;;;;;;;;;;;;15780:174;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15780:174:0;-1:-1:-1;;;;;15780:174:0;;:::i;15258:180::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15258:180:0;;:::i;8257:140::-;;;:::i;9920:24::-;;;:::i;9616:19::-;;;:::i;9998:24::-;;;:::i;12867:383::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12867:383:0;;:::i;7446:79::-;;;:::i;15446:198::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15446:198:0;;:::i;7812:94::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;9770:32;;;:::i;15652:120::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15652:120:0;-1:-1:-1;;;;;15652:120:0;;:::i;9513:31::-;;;:::i;15962:198::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15962:198:0;-1:-1:-1;;;;;15962:198:0;;:::i;9459:47::-;;;:::i;12335:381::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12335:381:0;;:::i;9551:56::-;;;:::i;14618:124::-;;;:::i;16708:234::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16708:234:0;;:::i;11208:442::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;11208:442:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9693:28::-;;;:::i;13428:444::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13428:444:0;;:::i;15004:246::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15004:246:0;;:::i;9407:45::-;;;:::i;8552:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8552:109:0;-1:-1:-1;;;;;8552:109:0;;:::i;16476:224::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16476:224:0;-1:-1:-1;;;;;16476:224:0;;:::i;16950:150::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16950:150:0;-1:-1:-1;;;;;16950:150:0;;:::i;9305:44::-;;;;:::o;14750:246::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;14856:25;:54;;;14928:60;;14884:26;;14928:60;;;;;14750:246;:::o;9356:44::-;;;;:::o;9165:35::-;;;;:::o;16168:144::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;16240:8;:20;;-1:-1:-1;;;;;;16240:20:0;-1:-1:-1;;;;;16240:20:0;;;;;;;;16278:26;;;;-1:-1:-1;;16278:26:0;16168:144;:::o;11782:402::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;11902:18;;11879:19;:41;11875:67;;;11935:7;;11875:67;11984:1;11962:19;:23;:52;;;;;12011:3;11989:19;:25;11962:52;11954:107;;;;;-1:-1:-1;;;11954:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12072:18;:40;;;12130:46;;12093:19;;12130:46;;;;;7715:1;11782:402;:::o;9207:40::-;;;;:::o;9254:44::-;;;;:::o;14008:487::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;14146:24;;14117:25;:53;14113:79;;;14185:7;;14113:79;14240:20;;14212:25;:48;:83;;;;;14292:3;14264:25;:31;14212:83;14204:144;;;;-1:-1:-1;;;14204:144:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14359:24;:52;;;14429:58;;14386:25;;14429:58;;;;;14008:487;:::o;9123:35::-;;;;:::o;9078:38::-;;;;:::o;16320:148::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;16393:9;:22;;-1:-1:-1;;;;;;16393:22:0;-1:-1:-1;;;;;16393:22:0;;;;;;;;16433:27;;;;-1:-1:-1;;16433:27:0;16320:148;:::o;9843:23::-;;;-1:-1:-1;;;;;9843:23:0;;:::o;15780:174::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;15862:13;:30;;-1:-1:-1;;;;;;15862:30:0;-1:-1:-1;;;;;15862:30:0;;;;;;;;15910:36;;;;-1:-1:-1;;15910:36:0;15780:174;:::o;15258:180::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;15342:14;:32;;;15392:38;;15359:15;;15392:38;;;;;15258:180;:::o;8257:140::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;8356:1;8340:6;;8319:40;;-1:-1:-1;;;;;8340:6:0;;;;8319:40;;8356:1;;8319:40;8387:1;8370:19;;-1:-1:-1;;;;;;8370:19:0;;;8257:140::o;9920:24::-;;;-1:-1:-1;;;;;9920:24:0;;:::o;9616:19::-;;;-1:-1:-1;;;;;9616:19:0;;:::o;9998:24::-;;;-1:-1:-1;;;;;9998:24:0;;:::o;12867:383::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;12978:15;;12958:16;:35;12954:61;;;13008:7;;12954:61;13054:15;;13035:16;:34;:60;;;;;13092:3;13073:16;:22;13035:60;13027:112;;;;;-1:-1:-1;;;13027:112:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13150:15;:34;;;13202:40;;13168:16;;13202:40;;;;;12867:383;:::o;7446:79::-;7484:7;7511:6;-1:-1:-1;;;;;7511:6:0;7446:79;:::o;15446:198::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;15536:17;:38;;;15592:44;;15556:18;;15592:44;;;;;15446:198;:::o;7812:94::-;7852:4;7892:6;;-1:-1:-1;;;;;7892:6:0;7876:12;:10;:12::i;:::-;-1:-1:-1;;;;;7876:22:0;;7869:29;;7812:94;:::o;9770:32::-;;;-1:-1:-1;;;;;9770:32:0;;:::o;15652:120::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;15716:4;:12;;-1:-1:-1;;;;;;15716:12:0;-1:-1:-1;;;;;15716:12:0;;;;;;;;15746:18;;;;-1:-1:-1;;15746:18:0;15652:120;:::o;9513:31::-;;;;:::o;15962:198::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;16052:17;:38;;-1:-1:-1;;;;;;16052:38:0;-1:-1:-1;;;;;16052:38:0;;;;;;;;16108:44;;;;-1:-1:-1;;16108:44:0;15962:198;:::o;9459:47::-;;;;:::o;12335:381::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;12446:15;;12426:16;:35;12422:61;;;12476:7;;12422:61;12522:1;12503:16;:20;:58;;;;;12546:15;;12527:16;:34;12503:58;12495:110;;;;;-1:-1:-1;;;12495:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12616:15;:34;;;12668:40;;12634:16;;12668:40;;;;;12335:381;:::o;9551:56::-;;;-1:-1:-1;;;;;9551:56:0;;:::o;14618:124::-;14665:7;14691:43;14732:1;14691:36;14711:15;;14691;;:19;;:36;;;;:::i;:::-;:40;:43;:40;:43;:::i;:::-;14684:50;;14618:124;:::o;16708:234::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;16810:3;16794:12;:19;;16786:61;;;;;-1:-1:-1;;;16786:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16858:11;:26;;;16902:32;;16872:12;;16902:32;;;;;16708:234;:::o;11208:442::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;11443:4;:12;;-1:-1:-1;;;;;;11443:12:0;;;-1:-1:-1;;;;;11443:12:0;;;;;;;11466:13;:30;;;;;;;;;;;;;;11507:17;:38;;;;;;;;;;;;;;11556:8;:20;;;;;;;;;;;;;;11587:9;:22;;;;;;;;;;;;;11620:9;:22;;;;;;;;;;;;;11208:442::o;9693:28::-;;;-1:-1:-1;;;;;9693:28:0;;:::o;13428:444::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;13554:20;;13529:21;:45;13525:71;;;13589:7;;13525:71;13640:1;13616:21;:25;:77;;;;;13669:24;;13645:21;:48;13616:77;13608:133;;;;;-1:-1:-1;;;13608:133:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13752:20;:44;;;13814:50;;13775:21;;13814:50;;;;;13428:444;:::o;15004:246::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;15110:25;:54;;;15182:60;;15138:26;;15182:60;;;;;15004:246;:::o;9407:45::-;;;;:::o;8552:109::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;8625:28;8644:8;8625:18;:28::i;16476:224::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;16580:20;:44;;-1:-1:-1;;;;;;16580:44:0;-1:-1:-1;;;;;16580:44:0;;;;;;;;16642:50;;;;-1:-1:-1;;16642:50:0;16476:224;:::o;16950:150::-;7658:9;:7;:9::i;:::-;7650:54;;;;;-1:-1:-1;;;7650:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7650:54:0;;;;;;;;;;;;;;;17024:9;:22;;-1:-1:-1;;;;;;17024:22:0;-1:-1:-1;;;;;17024:22:0;;;;;;;;17064:28;;;;-1:-1:-1;;17064:28:0;16950:150;:::o;6237:98::-;6317:10;6237:98;:::o;861:181::-;919:7;951:5;;;975:6;;;;967:46;;;;;-1:-1:-1;;;967:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1033:1;861:181;-1:-1:-1;;;861:181:0:o;3172:132::-;3230:7;3257:39;3261:1;3264;3257:39;;;;;;;;;;;;;;;;;:3;:39::i;8767:229::-;-1:-1:-1;;;;;8841:22:0;;8833:73;;;;-1:-1:-1;;;8833:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8943:6;;;8922:38;;-1:-1:-1;;;;;8922:38:0;;;;8943:6;;;8922:38;;;8971:6;:17;;-1:-1:-1;;;;;;8971:17:0;-1:-1:-1;;;;;8971:17:0;;;;;;;;;;8767:229::o;3834:345::-;3920:7;4022:12;4015:5;4007:28;;;;-1:-1:-1;;;4007:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4007:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4046:9;4062:1;4058;:5;;;;;;;3834:345;-1:-1:-1;;;;;3834:345:0:o
Swarm Source
bzzr://a7c07d22f856a92a3b89c206c3fdf22bb5dd5441d92ce6292bcb4af1e42fa555
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.