Contract
0x3129aC70c738D398d1D74c87EAB9483FD56D16f8
1
Contract Overview
Balance:
0 FTM
FTM Value:
$0.00
[ Download CSV Export ]
Latest 1 internal transaction
Parent Txn Hash | Block | From | To | Value | |||
---|---|---|---|---|---|---|---|
0x686dd967a7768a6e42f2d31a3d3c097c90cb0635a9de0260587f3446d4488965 | 19736851 | 471 days 4 hrs ago | 0x55d56e1bb2fc8280a775ccfe9ececcecf1a01562 | Contract Creation | 0 FTM |
[ Download CSV Export ]
Contract Name:
USDP
Compiler Version
v0.7.6+commit.7338295f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: bsl-1.1 /* Copyright 2020 Unit Protocol: Artem Zakharov ([email protected]). */ pragma solidity 0.7.6; import "./VaultParameters.sol"; import "./helpers/SafeMath.sol"; /** * @title USDP token implementation * @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; // minters mapping mapping(address => bool) public isMinter; /** * @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); /** * @dev Trigger minter is set/unset **/ event Minter(address indexed who, bool flag); modifier onlyMinter() { require(isMinter[msg.sender], "Unit Protocol: NOT_A_MINTER"); _; } /** * @param _parameters The address of system parameters contract **/ constructor(address _parameters) Auth(_parameters) {} /** * @notice Only manager is able to manage minters * @dev Allows and disallows 'who' to mint/burn the token * @param who The address of the minter * @param flag The permission flag **/ function setMinter(address who, bool flag) external onlyManager { isMinter[who] = flag; emit Minter(who, flag); } /** * @notice Only minter 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 onlyMinter { 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 minter can burn tokens from any address * @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 onlyMinter { _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); } }
// SPDX-License-Identifier: bsl-1.1 /* Copyright 2020 Unit Protocol: Artem Zakharov ([email protected]). */ pragma solidity 0.7.6; /** * @title Auth * @dev Manages USDP's system access **/ contract Auth { // address of the the contract with vault parameters VaultParameters public immutable vaultParameters; constructor(address _parameters) { 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 **/ 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 immutable 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) 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; } }
// SPDX-License-Identifier: bsl-1.1 /* Copyright 2020 Unit Protocol: Artem Zakharov ([email protected]). */ pragma solidity 0.7.6; /** * @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; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "libraries": {} }
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":"who","type":"address"},{"indexed":false,"internalType":"bool","name":"flag","type":"bool"}],"name":"Minter","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":"","type":"address"}],"name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"address","name":"who","type":"address"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","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
60a060405234801561001057600080fd5b50604051610e7b380380610e7b8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610e0a610071600039806108255280610a175280610a595250610e0a6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806370a08231116100a2578063a9059cbb11610071578063a9059cbb1461034b578063aa271e1a14610377578063aca345ee1461039d578063cf456ae7146103c1578063dd62ed3e146103ef57610116565b806370a08231146102c557806395d89b41146102eb5780639dc29fac146102f3578063a457c2d71461031f57610116565b8063313ce567116100e9578063313ce56714610228578063395093511461024657806340c10f191461027257806342966c68146102a057806354fd4d50146102bd57610116565b806306fdde031461011b578063095ea7b31461019857806318160ddd146101d857806323b872dd146101f2575b600080fd5b61012361041d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101c4600480360360408110156101ae57600080fd5b506001600160a01b038135169060200135610448565b604080519115158252519081900360200190f35b6101e061045f565b60408051918252519081900360200190f35b6101c46004803603606081101561020857600080fd5b506001600160a01b03813581169160208101359091169060400135610465565b610230610678565b6040805160ff9092168252519081900360200190f35b6101c46004803603604081101561025c57600080fd5b506001600160a01b03813516906020013561067d565b61029e6004803603604081101561028857600080fd5b506001600160a01b0381351690602001356106b3565b005b61029e600480360360208110156102b657600080fd5b5035610805565b6101236108f5565b6101e0600480360360208110156102db57600080fd5b50356001600160a01b0316610912565b610123610924565b61029e6004803603604081101561030957600080fd5b506001600160a01b038135169060200135610944565b6101c46004803603604081101561033557600080fd5b506001600160a01b0381351690602001356109b6565b6101c46004803603604081101561036157600080fd5b506001600160a01b0381351690602001356109ec565b6101c46004803603602081101561038d57600080fd5b50356001600160a01b0316610a00565b6103a5610a15565b604080516001600160a01b039092168252519081900360200190f35b61029e600480360360408110156103d757600080fd5b506001600160a01b0381351690602001351515610a39565b6101e06004803603604081101561040557600080fd5b506001600160a01b0381358116916020013516610b7c565b6040518060400160405280600f81526020016e2aa9a2281029ba30b13632b1b7b4b760891b81525081565b6000610455338484610b99565b5060015b92915050565b60005481565b60006001600160a01b0383166104c2576040805162461bcd60e51b815260206004820152601b60248201527f556e69742050726f746f636f6c3a205a45524f5f414444524553530000000000604482015290519081900360640190fd5b6001600160a01b0384166000908152600160205260409020548211156105195760405162461bcd60e51b8152600401808060200182810382526023815260200180610d376023913960400191505060405180910390fd5b6001600160a01b03841633146105c5576001600160a01b038416600090815260026020908152604080832033845290915290205482111561058b5760405162461bcd60e51b8152600401808060200182810382526025815260200180610d5a6025913960400191505060405180910390fd5b6001600160a01b0384166000908152600260209081526040808320338085529252909120546105c59186916105c09086610c85565b610b99565b6001600160a01b0384166000908152600160205260409020546105e89083610c85565b6001600160a01b0380861660009081526001602052604080822093909355908516815220546106179083610c97565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b601281565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916104559185906105c09086610c97565b3360009081526003602052604090205460ff16610717576040805162461bcd60e51b815260206004820152601b60248201527f556e69742050726f746f636f6c3a204e4f545f415f4d494e5445520000000000604482015290519081900360640190fd5b6001600160a01b038216610772576040805162461bcd60e51b815260206004820152601b60248201527f556e69742050726f746f636f6c3a205a45524f5f414444524553530000000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020546107959082610c97565b6001600160a01b038316600090815260016020526040812091909155546107bc9082610c97565b60009081556040805183815290516001600160a01b03851692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6040805163f3ae241560e01b815233600482015290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163f3ae2415916024808301926020929190829003018186803b15801561086b57600080fd5b505afa15801561087f573d6000803e3d6000fd5b505050506040513d602081101561089557600080fd5b50516108e8576040805162461bcd60e51b815260206004820152601a60248201527f556e69742050726f746f636f6c3a20415554485f4641494c4544000000000000604482015290519081900360640190fd5b6108f23382610ca4565b50565b604051806040016040528060018152602001603160f81b81525081565b60016020526000908152604090205481565b604051806040016040528060048152602001630555344560e41b81525081565b3360009081526003602052604090205460ff166109a8576040805162461bcd60e51b815260206004820152601b60248201527f556e69742050726f746f636f6c3a204e4f545f415f4d494e5445520000000000604482015290519081900360640190fd5b6109b28282610ca4565b5050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916104559185906105c09086610c85565b60006109f9338484610465565b9392505050565b60036020526000908152604090205460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6040805163f3ae241560e01b815233600482015290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163f3ae2415916024808301926020929190829003018186803b158015610a9f57600080fd5b505afa158015610ab3573d6000803e3d6000fd5b505050506040513d6020811015610ac957600080fd5b5051610b1c576040805162461bcd60e51b815260206004820152601a60248201527f556e69742050726f746f636f6c3a20415554485f4641494c4544000000000000604482015290519081900360640190fd5b6001600160a01b038216600081815260036020908152604091829020805460ff1916851515908117909155825190815291517fff452b3b9159b024a9098f0058c63eccd90d36b3584608202800d662f962bb609281900390910190a25050565b600260209081526000928352604080842090915290825290205481565b6001600160a01b038316610bde5760405162461bcd60e51b815260040180806020018281038252602c815260200180610da9602c913960400191505060405180910390fd5b6001600160a01b038216610c235760405162461bcd60e51b815260040180806020018281038252602a815260200180610d7f602a913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600082821115610c9157fe5b50900390565b8181018281101561045957fe5b6001600160a01b038216600090815260016020526040902054610cc79082610c85565b6001600160a01b03831660009081526001602052604081209190915554610cee9082610c85565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a3505056fe556e69742050726f746f636f6c3a20494e53554646494349454e545f42414c414e4345556e69742050726f746f636f6c3a20494e53554646494349454e545f414c4c4f57414e4345556e69742050726f746f636f6c3a20617070726f766520746f20746865207a65726f2061646472657373556e69742050726f746f636f6c3a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220df66ad9b2c25bde3548d436355d98bebe72fae7c666164bde1443c3304cc3ccd64736f6c63430007060033000000000000000000000000a8f0b5758041158cf0375b7adc8ac175ff031b6c
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a8f0b5758041158cf0375b7adc8ac175ff031b6c
-----Decoded View---------------
Arg [0] : _parameters (address): 0xa8f0b5758041158cf0375b7adc8ac175ff031b6c
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a8f0b5758041158cf0375b7adc8ac175ff031b6c
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Validator ID :
0 FTM
Amount Staked
0
Amount Delegated
0
Staking Total
0
Staking Start Epoch
0
Staking Start Time
0
Proof of Importance
0
Origination Score
0
Validation Score
0
Active
0
Online
0
Downtime
0 s
Address | Amount | claimed Rewards | Created On Epoch | Created On |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.