ERC-20
Stablecoin
Overview
Max Total Supply
2,628,819.432953692116014053 USDP
Holders
844 (0.00%)
Market
Price
$1.00 @ 0.000397 ETH (+0.03%)
Onchain Market Cap
$2,629,356.04
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 18 Decimals)
Balance
441 USDPValue
$441.09 ( ~0.17492134955409 Eth) [0.0168%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
USDP
Compiler Version
v0.7.5+commit.eb77ed08
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-11-24 */ // File: contracts/VaultParameters.sol /* Copyright 2020 Unit Protocol: Artem Zakharov ([email protected]). */ pragma solidity ^0.7.1; /** * @title Auth * @author Unit Protocol: Ivan Zakharov (@34x4p08) * @dev Manages USDP's system access **/ contract Auth { // address of the the contract with vault parameters VaultParameters public vaultParameters; constructor(address _parameters) public { vaultParameters = VaultParameters(_parameters); } // ensures tx's sender is a manager modifier onlyManager() { require(vaultParameters.isManager(msg.sender), "Unit Protocol: AUTH_FAILED"); _; } // ensures tx's sender is able to modify the Vault modifier hasVaultAccess() { require(vaultParameters.canModifyVault(msg.sender), "Unit Protocol: AUTH_FAILED"); _; } // ensures tx's sender is the Vault modifier onlyVault() { require(msg.sender == vaultParameters.vault(), "Unit Protocol: AUTH_FAILED"); _; } } /** * @title VaultParameters * @author Unit Protocol: Ivan Zakharov (@34x4p08) **/ contract VaultParameters is Auth { // map token to stability fee percentage; 3 decimals mapping(address => uint) public stabilityFee; // map token to liquidation fee percentage, 0 decimals mapping(address => uint) public liquidationFee; // map token to USDP mint limit mapping(address => uint) public tokenDebtLimit; // permissions to modify the Vault mapping(address => bool) public canModifyVault; // managers mapping(address => bool) public isManager; // enabled oracle types mapping(uint => mapping (address => bool)) public isOracleTypeEnabled; // address of the Vault address payable public vault; // The foundation address address public foundation; /** * The address for an Ethereum contract is deterministically computed from the address of its creator (sender) * and how many transactions the creator has sent (nonce). The sender and nonce are RLP encoded and then * hashed with Keccak-256. * Therefore, the Vault address can be pre-computed and passed as an argument before deployment. **/ constructor(address payable _vault, address _foundation) public Auth(address(this)) { require(_vault != address(0), "Unit Protocol: ZERO_ADDRESS"); require(_foundation != address(0), "Unit Protocol: ZERO_ADDRESS"); isManager[msg.sender] = true; vault = _vault; foundation = _foundation; } /** * @notice Only manager is able to call this function * @dev Grants and revokes manager's status of any address * @param who The target address * @param permit The permission flag **/ function setManager(address who, bool permit) external onlyManager { isManager[who] = permit; } /** * @notice Only manager is able to call this function * @dev Sets the foundation address * @param newFoundation The new foundation address **/ function setFoundation(address newFoundation) external onlyManager { require(newFoundation != address(0), "Unit Protocol: ZERO_ADDRESS"); foundation = newFoundation; } /** * @notice Only manager is able to call this function * @dev Sets ability to use token as the main collateral * @param asset The address of the main collateral token * @param stabilityFeeValue The percentage of the year stability fee (3 decimals) * @param liquidationFeeValue The liquidation fee percentage (0 decimals) * @param usdpLimit The USDP token issue limit * @param oracles The enables oracle types **/ function setCollateral( address asset, uint stabilityFeeValue, uint liquidationFeeValue, uint usdpLimit, uint[] calldata oracles ) external onlyManager { setStabilityFee(asset, stabilityFeeValue); setLiquidationFee(asset, liquidationFeeValue); setTokenDebtLimit(asset, usdpLimit); for (uint i=0; i < oracles.length; i++) { setOracleType(oracles[i], asset, true); } } /** * @notice Only manager is able to call this function * @dev Sets a permission for an address to modify the Vault * @param who The target address * @param permit The permission flag **/ function setVaultAccess(address who, bool permit) external onlyManager { canModifyVault[who] = permit; } /** * @notice Only manager is able to call this function * @dev Sets the percentage of the year stability fee for a particular collateral * @param asset The address of the main collateral token * @param newValue The stability fee percentage (3 decimals) **/ function setStabilityFee(address asset, uint newValue) public onlyManager { stabilityFee[asset] = newValue; } /** * @notice Only manager is able to call this function * @dev Sets the percentage of the liquidation fee for a particular collateral * @param asset The address of the main collateral token * @param newValue The liquidation fee percentage (0 decimals) **/ function setLiquidationFee(address asset, uint newValue) public onlyManager { require(newValue <= 100, "Unit Protocol: VALUE_OUT_OF_RANGE"); liquidationFee[asset] = newValue; } /** * @notice Only manager is able to call this function * @dev Enables/disables oracle types * @param _type The type of the oracle * @param asset The address of the main collateral token * @param enabled The control flag **/ function setOracleType(uint _type, address asset, bool enabled) public onlyManager { isOracleTypeEnabled[_type][asset] = enabled; } /** * @notice Only manager is able to call this function * @dev Sets USDP limit for a specific collateral * @param asset The address of the main collateral token * @param limit The limit number **/ function setTokenDebtLimit(address asset, uint limit) public onlyManager { tokenDebtLimit[asset] = limit; } } // File: contracts/helpers/SafeMath.sol /* Copyright 2020 Unit Protocol: Artem Zakharov ([email protected]). */ pragma solidity ^0.7.1; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0, "SafeMath: division by zero"); return a / b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } // File: contracts/USDP.sol /* Copyright 2020 Unit Protocol: Artem Zakharov ([email protected]). */ pragma solidity ^0.7.1; /** * @title USDP token implementation * @author Unit Protocol: Ivan Zakharov (@34x4p08) * @dev ERC20 token **/ contract USDP is Auth { using SafeMath for uint; // name of the token string public constant name = "USDP Stablecoin"; // symbol of the token string public constant symbol = "USDP"; // version of the token string public constant version = "1"; // number of decimals the token uses uint8 public constant decimals = 18; // total token supply uint public totalSupply; // balance information map mapping(address => uint) public balanceOf; // token allowance mapping mapping(address => mapping(address => uint)) public allowance; /** * @dev Trigger on any successful call to approve(address spender, uint amount) **/ event Approval(address indexed owner, address indexed spender, uint value); /** * @dev Trigger when tokens are transferred, including zero value transfers **/ event Transfer(address indexed from, address indexed to, uint value); /** * @param _parameters The address of system parameters contract **/ constructor(address _parameters) public Auth(_parameters) {} /** * @notice Only Vault can mint USDP * @dev Mints 'amount' of tokens to address 'to', and MUST fire the * Transfer event * @param to The address of the recipient * @param amount The amount of token to be minted **/ function mint(address to, uint amount) external onlyVault { require(to != address(0), "Unit Protocol: ZERO_ADDRESS"); balanceOf[to] = balanceOf[to].add(amount); totalSupply = totalSupply.add(amount); emit Transfer(address(0), to, amount); } /** * @notice Only manager can burn tokens from manager's balance * @dev Burns 'amount' of tokens, and MUST fire the Transfer event * @param amount The amount of token to be burned **/ function burn(uint amount) external onlyManager { _burn(msg.sender, amount); } /** * @notice Only Vault can burn tokens from any balance * @dev Burns 'amount' of tokens from 'from' address, and MUST fire the Transfer event * @param from The address of the balance owner * @param amount The amount of token to be burned **/ function burn(address from, uint amount) external onlyVault { _burn(from, amount); } /** * @dev Transfers 'amount' of tokens to address 'to', and MUST fire the Transfer event. The * function SHOULD throw if the _from account balance does not have enough tokens to spend. * @param to The address of the recipient * @param amount The amount of token to be transferred **/ function transfer(address to, uint amount) external returns (bool) { return transferFrom(msg.sender, to, amount); } /** * @dev Transfers 'amount' of tokens from address 'from' to address 'to', and MUST fire the * Transfer event * @param from The address of the sender * @param to The address of the recipient * @param amount The amount of token to be transferred **/ function transferFrom(address from, address to, uint amount) public returns (bool) { require(to != address(0), "Unit Protocol: ZERO_ADDRESS"); require(balanceOf[from] >= amount, "Unit Protocol: INSUFFICIENT_BALANCE"); if (from != msg.sender) { require(allowance[from][msg.sender] >= amount, "Unit Protocol: INSUFFICIENT_ALLOWANCE"); _approve(from, msg.sender, allowance[from][msg.sender].sub(amount)); } balanceOf[from] = balanceOf[from].sub(amount); balanceOf[to] = balanceOf[to].add(amount); emit Transfer(from, to, amount); return true; } /** * @dev Allows 'spender' to withdraw from your account multiple times, up to the 'amount' amount. If * this function is called again it overwrites the current allowance with 'amount'. * @param spender The address of the account able to transfer the tokens * @param amount The amount of tokens to be approved for transfer **/ function approve(address spender, uint amount) external returns (bool) { _approve(msg.sender, spender, amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to `approve` that can be used as a mitigation for * problems described in `IERC20.approve`. * * Emits an `Approval` event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint addedValue) public virtual returns (bool) { _approve(msg.sender, spender, allowance[msg.sender][spender].add(addedValue)); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to `approve` that can be used as a mitigation for * problems described in `IERC20.approve`. * * Emits an `Approval` event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint subtractedValue) public virtual returns (bool) { _approve(msg.sender, spender, allowance[msg.sender][spender].sub(subtractedValue)); return true; } function _approve(address owner, address spender, uint amount) internal virtual { require(owner != address(0), "Unit Protocol: approve from the zero address"); require(spender != address(0), "Unit Protocol: approve to the zero address"); allowance[owner][spender] = amount; emit Approval(owner, spender, amount); } function _burn(address from, uint amount) internal virtual { balanceOf[from] = balanceOf[from].sub(amount); totalSupply = totalSupply.sub(amount); emit Transfer(from, address(0), amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_parameters","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vaultParameters","outputs":[{"internalType":"contract VaultParameters","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610d51380380610d518339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055610cec806100656000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806354fd4d5011610097578063a457c2d711610066578063a457c2d714610309578063a9059cbb14610335578063aca345ee14610361578063dd62ed3e1461038557610100565b806354fd4d50146102a757806370a08231146102af57806395d89b41146102d55780639dc29fac146102dd57610100565b8063313ce567116100d3578063313ce56714610212578063395093511461023057806340c10f191461025c57806342966c681461028a57610100565b806306fdde0314610105578063095ea7b31461018257806318160ddd146101c257806323b872dd146101dc575b600080fd5b61010d6103b3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014757818101518382015260200161012f565b50505050905090810190601f1680156101745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ae6004803603604081101561019857600080fd5b506001600160a01b0381351690602001356103de565b604080519115158252519081900360200190f35b6101ca6103f5565b60408051918252519081900360200190f35b6101ae600480360360608110156101f257600080fd5b506001600160a01b038135811691602081013590911690604001356103fb565b61021a61060e565b6040805160ff9092168252519081900360200190f35b6101ae6004803603604081101561024657600080fd5b506001600160a01b038135169060200135610613565b6102886004803603604081101561027257600080fd5b506001600160a01b038135169060200135610649565b005b610288600480360360208110156102a057600080fd5b5035610806565b61010d6108d8565b6101ca600480360360208110156102c557600080fd5b50356001600160a01b03166108f5565b61010d610907565b610288600480360360408110156102f357600080fd5b506001600160a01b038135169060200135610927565b6101ae6004803603604081101561031f57600080fd5b506001600160a01b038135169060200135610a06565b6101ae6004803603604081101561034b57600080fd5b506001600160a01b038135169060200135610a3c565b610369610a50565b604080516001600160a01b039092168252519081900360200190f35b6101ca6004803603604081101561039b57600080fd5b506001600160a01b0381358116916020013516610a5f565b6040518060400160405280600f81526020016e2aa9a2281029ba30b13632b1b7b4b760891b81525081565b60006103eb338484610a7c565b5060015b92915050565b60015481565b60006001600160a01b038316610458576040805162461bcd60e51b815260206004820152601b60248201527f556e69742050726f746f636f6c3a205a45524f5f414444524553530000000000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260409020548211156104af5760405162461bcd60e51b8152600401808060200182810382526023815260200180610c196023913960400191505060405180910390fd5b6001600160a01b038416331461055b576001600160a01b03841660009081526003602090815260408083203384529091529020548211156105215760405162461bcd60e51b8152600401808060200182810382526025815260200180610c3c6025913960400191505060405180910390fd5b6001600160a01b03841660009081526003602090815260408083203380855292529091205461055b9186916105569086610b68565b610a7c565b6001600160a01b03841660009081526002602052604090205461057e9083610b68565b6001600160a01b0380861660009081526002602052604080822093909355908516815220546105ad9083610b7a565b6001600160a01b0380851660008181526002602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b601281565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916103eb9185906105569086610b7a565b60008054906101000a90046001600160a01b03166001600160a01b031663fbfa77cf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561069557600080fd5b505afa1580156106a9573d6000803e3d6000fd5b505050506040513d60208110156106bf57600080fd5b50516001600160a01b0316331461071a576040805162461bcd60e51b815260206004820152601a602482015279155b9a5d08141c9bdd1bd8dbdb0e881055551217d1905253115160321b604482015290519081900360640190fd5b6001600160a01b038216610775576040805162461bcd60e51b815260206004820152601b60248201527f556e69742050726f746f636f6c3a205a45524f5f414444524553530000000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600260205260409020546107989082610b7a565b6001600160a01b0383166000908152600260205260409020556001546107be9082610b7a565b6001556040805182815290516001600160a01b038416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000546040805163f3ae241560e01b815233600482015290516001600160a01b039092169163f3ae241591602480820192602092909190829003018186803b15801561085157600080fd5b505afa158015610865573d6000803e3d6000fd5b505050506040513d602081101561087b57600080fd5b50516108cb576040805162461bcd60e51b815260206004820152601a602482015279155b9a5d08141c9bdd1bd8dbdb0e881055551217d1905253115160321b604482015290519081900360640190fd5b6108d53382610b87565b50565b604051806040016040528060018152602001603160f81b81525081565b60026020526000908152604090205481565b604051806040016040528060048152602001630555344560e41b81525081565b60008054906101000a90046001600160a01b03166001600160a01b031663fbfa77cf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561097357600080fd5b505afa158015610987573d6000803e3d6000fd5b505050506040513d602081101561099d57600080fd5b50516001600160a01b031633146109f8576040805162461bcd60e51b815260206004820152601a602482015279155b9a5d08141c9bdd1bd8dbdb0e881055551217d1905253115160321b604482015290519081900360640190fd5b610a028282610b87565b5050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916103eb9185906105569086610b68565b6000610a493384846103fb565b9392505050565b6000546001600160a01b031681565b600360209081526000928352604080842090915290825290205481565b6001600160a01b038316610ac15760405162461bcd60e51b815260040180806020018281038252602c815260200180610c8b602c913960400191505060405180910390fd5b6001600160a01b038216610b065760405162461bcd60e51b815260040180806020018281038252602a815260200180610c61602a913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600082821115610b7457fe5b50900390565b818101828110156103ef57fe5b6001600160a01b038216600090815260026020526040902054610baa9082610b68565b6001600160a01b038316600090815260026020526040902055600154610bd09082610b68565b6001556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505056fe556e69742050726f746f636f6c3a20494e53554646494349454e545f42414c414e4345556e69742050726f746f636f6c3a20494e53554646494349454e545f414c4c4f57414e4345556e69742050726f746f636f6c3a20617070726f766520746f20746865207a65726f2061646472657373556e69742050726f746f636f6c3a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212206725cb1bab781f2cc17b3f898bbc0b018227f4cd11306bf4e13d265b1660103464736f6c63430007050033000000000000000000000000b46f8cf42e504efe8bef895f848741daa55e9f1d
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101005760003560e01c806354fd4d5011610097578063a457c2d711610066578063a457c2d714610309578063a9059cbb14610335578063aca345ee14610361578063dd62ed3e1461038557610100565b806354fd4d50146102a757806370a08231146102af57806395d89b41146102d55780639dc29fac146102dd57610100565b8063313ce567116100d3578063313ce56714610212578063395093511461023057806340c10f191461025c57806342966c681461028a57610100565b806306fdde0314610105578063095ea7b31461018257806318160ddd146101c257806323b872dd146101dc575b600080fd5b61010d6103b3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014757818101518382015260200161012f565b50505050905090810190601f1680156101745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ae6004803603604081101561019857600080fd5b506001600160a01b0381351690602001356103de565b604080519115158252519081900360200190f35b6101ca6103f5565b60408051918252519081900360200190f35b6101ae600480360360608110156101f257600080fd5b506001600160a01b038135811691602081013590911690604001356103fb565b61021a61060e565b6040805160ff9092168252519081900360200190f35b6101ae6004803603604081101561024657600080fd5b506001600160a01b038135169060200135610613565b6102886004803603604081101561027257600080fd5b506001600160a01b038135169060200135610649565b005b610288600480360360208110156102a057600080fd5b5035610806565b61010d6108d8565b6101ca600480360360208110156102c557600080fd5b50356001600160a01b03166108f5565b61010d610907565b610288600480360360408110156102f357600080fd5b506001600160a01b038135169060200135610927565b6101ae6004803603604081101561031f57600080fd5b506001600160a01b038135169060200135610a06565b6101ae6004803603604081101561034b57600080fd5b506001600160a01b038135169060200135610a3c565b610369610a50565b604080516001600160a01b039092168252519081900360200190f35b6101ca6004803603604081101561039b57600080fd5b506001600160a01b0381358116916020013516610a5f565b6040518060400160405280600f81526020016e2aa9a2281029ba30b13632b1b7b4b760891b81525081565b60006103eb338484610a7c565b5060015b92915050565b60015481565b60006001600160a01b038316610458576040805162461bcd60e51b815260206004820152601b60248201527f556e69742050726f746f636f6c3a205a45524f5f414444524553530000000000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260409020548211156104af5760405162461bcd60e51b8152600401808060200182810382526023815260200180610c196023913960400191505060405180910390fd5b6001600160a01b038416331461055b576001600160a01b03841660009081526003602090815260408083203384529091529020548211156105215760405162461bcd60e51b8152600401808060200182810382526025815260200180610c3c6025913960400191505060405180910390fd5b6001600160a01b03841660009081526003602090815260408083203380855292529091205461055b9186916105569086610b68565b610a7c565b6001600160a01b03841660009081526002602052604090205461057e9083610b68565b6001600160a01b0380861660009081526002602052604080822093909355908516815220546105ad9083610b7a565b6001600160a01b0380851660008181526002602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b601281565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916103eb9185906105569086610b7a565b60008054906101000a90046001600160a01b03166001600160a01b031663fbfa77cf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561069557600080fd5b505afa1580156106a9573d6000803e3d6000fd5b505050506040513d60208110156106bf57600080fd5b50516001600160a01b0316331461071a576040805162461bcd60e51b815260206004820152601a602482015279155b9a5d08141c9bdd1bd8dbdb0e881055551217d1905253115160321b604482015290519081900360640190fd5b6001600160a01b038216610775576040805162461bcd60e51b815260206004820152601b60248201527f556e69742050726f746f636f6c3a205a45524f5f414444524553530000000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600260205260409020546107989082610b7a565b6001600160a01b0383166000908152600260205260409020556001546107be9082610b7a565b6001556040805182815290516001600160a01b038416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000546040805163f3ae241560e01b815233600482015290516001600160a01b039092169163f3ae241591602480820192602092909190829003018186803b15801561085157600080fd5b505afa158015610865573d6000803e3d6000fd5b505050506040513d602081101561087b57600080fd5b50516108cb576040805162461bcd60e51b815260206004820152601a602482015279155b9a5d08141c9bdd1bd8dbdb0e881055551217d1905253115160321b604482015290519081900360640190fd5b6108d53382610b87565b50565b604051806040016040528060018152602001603160f81b81525081565b60026020526000908152604090205481565b604051806040016040528060048152602001630555344560e41b81525081565b60008054906101000a90046001600160a01b03166001600160a01b031663fbfa77cf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561097357600080fd5b505afa158015610987573d6000803e3d6000fd5b505050506040513d602081101561099d57600080fd5b50516001600160a01b031633146109f8576040805162461bcd60e51b815260206004820152601a602482015279155b9a5d08141c9bdd1bd8dbdb0e881055551217d1905253115160321b604482015290519081900360640190fd5b610a028282610b87565b5050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916103eb9185906105569086610b68565b6000610a493384846103fb565b9392505050565b6000546001600160a01b031681565b600360209081526000928352604080842090915290825290205481565b6001600160a01b038316610ac15760405162461bcd60e51b815260040180806020018281038252602c815260200180610c8b602c913960400191505060405180910390fd5b6001600160a01b038216610b065760405162461bcd60e51b815260040180806020018281038252602a815260200180610c61602a913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600082821115610b7457fe5b50900390565b818101828110156103ef57fe5b6001600160a01b038216600090815260026020526040902054610baa9082610b68565b6001600160a01b038316600090815260026020526040902055600154610bd09082610b68565b6001556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505056fe556e69742050726f746f636f6c3a20494e53554646494349454e545f42414c414e4345556e69742050726f746f636f6c3a20494e53554646494349454e545f414c4c4f57414e4345556e69742050726f746f636f6c3a20617070726f766520746f20746865207a65726f2061646472657373556e69742050726f746f636f6c3a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212206725cb1bab781f2cc17b3f898bbc0b018227f4cd11306bf4e13d265b1660103464736f6c63430007050033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b46f8cf42e504efe8bef895f848741daa55e9f1d
-----Decoded View---------------
Arg [0] : _parameters (address): 0xB46F8CF42e504Efe8BEf895f848741daA55e9f1D
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b46f8cf42e504efe8bef895f848741daa55e9f1d
Deployed Bytecode Sourcemap
7870:6271:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7957:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12053:149;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12053:149:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;8275:23;;;:::i;:::-;;;;;;;;;;;;;;;;11030:648;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11030:648:0;;;;;;;;;;;;;;;;;:::i;8204:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12611:209;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12611:209:0;;;;;;;;:::i;9273:285::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9273:285:0;;;;;;;;:::i;:::-;;9783:92;;;;;;;;;;;;;;;;-1:-1:-1;9783:92:0;;:::i;8117:36::-;;;:::i;8339:41::-;;;;;;;;;;;;;;;;-1:-1:-1;8339:41:0;-1:-1:-1;;;;;8339:41:0;;:::i;8041:38::-;;;:::i;10166:98::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10166:98:0;;;;;;;;:::i;13323:219::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13323:219:0;;;;;;;;:::i;10596:129::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10596:129:0;;;;;;;;:::i;340:38::-;;;:::i;:::-;;;;-1:-1:-1;;;;;340:38:0;;;;;;;;;;;;;;8421:61;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8421:61:0;;;;;;;;;;:::i;7957:47::-;;;;;;;;;;;;;;-1:-1:-1;;;7957:47:0;;;;:::o;12053:149::-;12118:4;12135:37;12144:10;12156:7;12165:6;12135:8;:37::i;:::-;-1:-1:-1;12190:4:0;12053:149;;;;;:::o;8275:23::-;;;;:::o;11030:648::-;11107:4;-1:-1:-1;;;;;11132:16:0;;11124:56;;;;;-1:-1:-1;;;11124:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11199:15:0;;;;;;:9;:15;;;;;;:25;-1:-1:-1;11199:25:0;11191:73;;;;-1:-1:-1;;;11191:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11281:18:0;;11289:10;11281:18;11277:220;;-1:-1:-1;;;;;11324:15:0;;;;;;:9;:15;;;;;;;;11340:10;11324:27;;;;;;;;:37;-1:-1:-1;11324:37:0;11316:87;;;;-1:-1:-1;;;11316:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11445:15:0;;;;;;:9;:15;;;;;;;;11433:10;11445:27;;;;;;;;;11418:67;;11427:4;;11445:39;;11477:6;11445:31;:39::i;:::-;11418:8;:67::i;:::-;-1:-1:-1;;;;;11525:15:0;;;;;;:9;:15;;;;;;:27;;11545:6;11525:19;:27::i;:::-;-1:-1:-1;;;;;11507:15:0;;;;;;;:9;:15;;;;;;:45;;;;11579:13;;;;;;;:25;;11597:6;11579:17;:25::i;:::-;-1:-1:-1;;;;;11563:13:0;;;;;;;:9;:13;;;;;;;;;:41;;;;11622:26;;;;;;;11563:13;;11622:26;;;;;;;;;;;;;-1:-1:-1;11666:4:0;11030:648;;;;;:::o;8204:35::-;8237:2;8204:35;:::o;12611:209::-;12722:10;12696:4;12743:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;12743:30:0;;;;;;;;;;12696:4;;12713:77;;12734:7;;12743:46;;12778:10;12743:34;:46::i;9273:285::-;976:15;;;;;;;;-1:-1:-1;;;;;976:15:0;-1:-1:-1;;;;;976:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;976:23:0;-1:-1:-1;;;;;962:37:0;:10;:37;954:76;;;;;-1:-1:-1;;;954:76:0;;;;;;;;;;;;-1:-1:-1;;;954:76:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;9350:16:0;::::1;9342:56;;;::::0;;-1:-1:-1;;;9342:56:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;9427:13:0;::::1;;::::0;;;:9:::1;:13;::::0;;;;;:25:::1;::::0;9445:6;9427:17:::1;:25::i;:::-;-1:-1:-1::0;;;;;9411:13:0;::::1;;::::0;;;:9:::1;:13;::::0;;;;:41;9477:11:::1;::::0;:23:::1;::::0;9493:6;9477:15:::1;:23::i;:::-;9463:11;:37:::0;9518:32:::1;::::0;;;;;;;-1:-1:-1;;;;;9518:32:0;::::1;::::0;9535:1:::1;::::0;9518:32:::1;::::0;;;;::::1;::::0;;::::1;9273:285:::0;;:::o;9783:92::-;583:15;;:37;;;-1:-1:-1;;;583:37:0;;609:10;583:37;;;;;;-1:-1:-1;;;;;583:15:0;;;;:25;;:37;;;;;;;;;;;;;;;:15;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;583:37:0;575:76;;;;;-1:-1:-1;;;575:76:0;;;;;;;;;;;;-1:-1:-1;;;575:76:0;;;;;;;;;;;;;;;9842:25:::1;9848:10;9860:6;9842:5;:25::i;:::-;9783:92:::0;:::o;8117:36::-;;;;;;;;;;;;;;-1:-1:-1;;;8117:36:0;;;;:::o;8339:41::-;;;;;;;;;;;;;:::o;8041:38::-;;;;;;;;;;;;;;-1:-1:-1;;;8041:38:0;;;;:::o;10166:98::-;976:15;;;;;;;;-1:-1:-1;;;;;976:15:0;-1:-1:-1;;;;;976:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;976:23:0;-1:-1:-1;;;;;962:37:0;:10;:37;954:76;;;;;-1:-1:-1;;;954:76:0;;;;;;;;;;;;-1:-1:-1;;;954:76:0;;;;;;;;;;;;;;;10237:19:::1;10243:4;10249:6;10237:5;:19::i;:::-;10166:98:::0;;:::o;13323:219::-;13439:10;13413:4;13460:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;13460:30:0;;;;;;;;;;13413:4;;13430:82;;13451:7;;13460:51;;13495:15;13460:34;:51::i;10596:129::-;10657:4;10681:36;10694:10;10706:2;10710:6;10681:12;:36::i;:::-;10674:43;10596:129;-1:-1:-1;;;10596:129:0:o;340:38::-;;;-1:-1:-1;;;;;340:38:0;;:::o;8421:61::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;13550:357::-;-1:-1:-1;;;;;13649:19:0;;13641:76;;;;-1:-1:-1;;;13641:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13736:21:0;;13728:76;;;;-1:-1:-1;;;13728:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13817:16:0;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:34;;;13867:32;;;;;;;;;;;;;;;;;13550:357;;;:::o;7268:123::-;7326:7;7358:1;7353;:6;;7346:14;;;;-1:-1:-1;7378:5:0;;;7268:123::o;7466:141::-;7550:5;;;7573:6;;;;7566:14;;;13915:223;-1:-1:-1;;;;;14003:15:0;;;;;;:9;:15;;;;;;:27;;14023:6;14003:19;:27::i;:::-;-1:-1:-1;;;;;13985:15:0;;;;;;:9;:15;;;;;:45;14055:11;;:23;;14071:6;14055:15;:23::i;:::-;14041:11;:37;14096:34;;;;;;;;14119:1;;-1:-1:-1;;;;;14096:34:0;;;;;;;;;;;;13915:223;;:::o
Swarm Source
ipfs://6725cb1bab781f2cc17b3f898bbc0b018227f4cd11306bf4e13d265b16601034
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.