Contract
0x7cfa4155b934ad0e05f9df002cdcca39a929305d
1
Contract Overview
Balance:
0 FTM
My Name Tag:
Not Available
[ Download CSV Export ]
Latest 1 internal transaction
Parent Txn Hash | Block | From | To | Value | |||
---|---|---|---|---|---|---|---|
0x7665b9f75ab3d2948fcd6926c8bd36fc7d9aae834fb8f1f43bc2f66cf7d73ea3 | 6687869 | 430 days 13 hrs ago | 0x7f0722237a1eb0603a794a2e53315e950d04eff7 | Contract Creation | 0 FTM |
[ Download CSV Export ]
Contract Name:
TrueOriginal
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at FtmScan.com on 2022-01-19 */ // SPDX-License-Identifier: MIT pragma solidity ^0.6.2; /* * @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 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; } } /** * @title TrueOriginal * @notice Contract is not payable. * Owner can add documents. * This contact belongs to * * * */ contract TrueOriginal is Ownable { //Doc struct struct Cert { uint256 certId; bytes32 certHash; uint64 certExpires; uint64 issuedOn; } //Array containing all crt mapping (uint256 => Cert) certs; //Holds the mapping for crt ids mapping (uint256 => bool) certIds; //Emit Event for new certs event NewCert(uint256 certId); event CertExists(uint256 certId); //is not payable. constructor() public {} /** * @dev Add new Crt */ function addCert(uint256 _certId, bytes32 _certHash, uint64 _certExpires, uint64 _issuedOn) onlyOwner public{ if(!certIds[_certId]){ certIds[_certId] = true; certs[_certId] = Cert(_certId,_certHash,_certExpires,_issuedOn); emit NewCert(_certId); }else{ emit CertExists(_certId); } } /** * @dev Send Array of Crt */ function addManyCerts(uint256[] memory _certId, bytes32[] memory _certHash, uint64[] memory _certExpires, uint64[] memory _issuedOn) onlyOwner public{ for (uint256 i = 0; i < _certId.length; i++) { addCert(_certId[i],_certHash[i],_certExpires[i],_issuedOn[i]); } } function getCert(uint256 _certId) public view returns (bytes32,uint64,uint64) { require(certIds[_certId], "CertIds: _certId is not found"); return (certs[_certId].certHash,certs[_certId].certExpires,certs[_certId].issuedOn); } function getCertHash(uint256 _certId) public view returns (bytes32) { require(certIds[_certId], "CertIds: _certId is not found"); return certs[_certId].certHash; } function getCertCertExpires(uint256 _certId) public view returns (uint64) { require(certIds[_certId], "CertIds: _certId is not found"); return certs[_certId].certExpires; } function getCertIssuedOn(uint256 _certId) public view returns (uint64) { require(certIds[_certId], "CertIds: _certId is not found"); return certs[_certId].issuedOn; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"certId","type":"uint256"}],"name":"CertExists","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"certId","type":"uint256"}],"name":"NewCert","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"},{"inputs":[{"internalType":"uint256","name":"_certId","type":"uint256"},{"internalType":"bytes32","name":"_certHash","type":"bytes32"},{"internalType":"uint64","name":"_certExpires","type":"uint64"},{"internalType":"uint64","name":"_issuedOn","type":"uint64"}],"name":"addCert","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_certId","type":"uint256[]"},{"internalType":"bytes32[]","name":"_certHash","type":"bytes32[]"},{"internalType":"uint64[]","name":"_certExpires","type":"uint64[]"},{"internalType":"uint64[]","name":"_issuedOn","type":"uint64[]"}],"name":"addManyCerts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_certId","type":"uint256"}],"name":"getCert","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_certId","type":"uint256"}],"name":"getCertCertExpires","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_certId","type":"uint256"}],"name":"getCertHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_certId","type":"uint256"}],"name":"getCertIssuedOn","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060006100216100c460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506100cc565b600033905090565b610e3d806100db6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063b9ced03311610066578063b9ced033146103c4578063de7eb21c14610424578063f2fde38b14610470578063fddba9ea146104b4578063ff565150146104f657610093565b80631ca07044146100985780638da5cb5b1461030c5780638f32d59b14610340578063b449e71614610360575b600080fd5b61030a600480360360808110156100ae57600080fd5b81019080803590602001906401000000008111156100cb57600080fd5b8201836020820111156100dd57600080fd5b803590602001918460208302840111640100000000831117156100ff57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561015f57600080fd5b82018360208201111561017157600080fd5b8035906020019184602083028401116401000000008311171561019357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156101f357600080fd5b82018360208201111561020557600080fd5b8035906020019184602083028401116401000000008311171561022757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561028757600080fd5b82018360208201111561029957600080fd5b803590602001918460208302840111640100000000831117156102bb57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610542565b005b610314610634565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61034861065d565b60405180821515815260200191505060405180910390f35b61038c6004803603602081101561037657600080fd5b81019080803590602001909291905050506106bb565b604051808481526020018367ffffffffffffffff1681526020018267ffffffffffffffff168152602001935050505060405180910390f35b610422600480360360808110156103da57600080fd5b810190808035906020019092919080359060200190929190803567ffffffffffffffff169060200190929190803567ffffffffffffffff1690602001909291905050506107cd565b005b6104506004803603602081101561043a57600080fd5b81019080803590602001909291905050506109cf565b604051808267ffffffffffffffff16815260200191505060405180910390f35b6104b26004803603602081101561048657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a96565b005b6104e0600480360360208110156104ca57600080fd5b8101908080359060200190929190505050610b1c565b6040518082815260200191505060405180910390f35b6105226004803603602081101561050c57600080fd5b8101908080359060200190929190505050610bcf565b604051808267ffffffffffffffff16815260200191505060405180910390f35b61054a61065d565b6105bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b845181101561062d576106208582815181106105d757fe5b60200260200101518583815181106105eb57fe5b60200260200101518584815181106105ff57fe5b602002602001015185858151811061061357fe5b60200260200101516107cd565b80806001019150506105bf565b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661069f610c96565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b60008060006002600085815260200190815260200160002060009054906101000a900460ff16610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f436572744964733a205f636572744964206973206e6f7420666f756e6400000081525060200191505060405180910390fd5b60016000858152602001908152602001600020600101546001600086815260200190815260200160002060020160009054906101000a900467ffffffffffffffff166001600087815260200190815260200160002060020160089054906101000a900467ffffffffffffffff169250925092509193909250565b6107d561065d565b610847576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6002600085815260200190815260200160002060009054906101000a900460ff166109915760016002600086815260200190815260200160002060006101000a81548160ff02191690831515021790555060405180608001604052808581526020018481526020018367ffffffffffffffff1681526020018267ffffffffffffffff1681525060016000868152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055509050507f4963cac36a7a7ed5c7d3e3a10888ea3b65591938dc1687de588ead2e296c7b71846040518082815260200191505060405180910390a16109c9565b7f6fa0b2c82af9f7b30aced9979992e03826f4e6bd810f275998272371c142ae3f846040518082815260200191505060405180910390a15b50505050565b60006002600083815260200190815260200160002060009054906101000a900460ff16610a64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f436572744964733a205f636572744964206973206e6f7420666f756e6400000081525060200191505060405180910390fd5b6001600083815260200190815260200160002060020160089054906101000a900467ffffffffffffffff169050919050565b610a9e61065d565b610b10576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610b1981610c9e565b50565b60006002600083815260200190815260200160002060009054906101000a900460ff16610bb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f436572744964733a205f636572744964206973206e6f7420666f756e6400000081525060200191505060405180910390fd5b60016000838152602001908152602001600020600101549050919050565b60006002600083815260200190815260200160002060009054906101000a900460ff16610c64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f436572744964733a205f636572744964206973206e6f7420666f756e6400000081525060200191505060405180910390fd5b6001600083815260200190815260200160002060020160009054906101000a900467ffffffffffffffff169050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610de26026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a26469706673582212200e7d4ba79c73f4779a11784e624d56133d91f741e44ae53dff9d0dda2a3b794d64736f6c634300060c0033
Deployed ByteCode Sourcemap
3270:2187:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4281:302;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2052:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2418:94;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4595:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3847:370;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5261:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2669:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4856:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5054:195;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4281:302;2264:9;:7;:9::i;:::-;2256:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4449:9:::1;4444:131;4468:7;:14;4464:1;:18;4444:131;;;4502:61;4510:7;4518:1;4510:10;;;;;;;;;;;;;;4521:9;4531:1;4521:12;;;;;;;;;;;;;;4534;4547:1;4534:15;;;;;;;;;;;;;;4550:9;4560:1;4550:12;;;;;;;;;;;;;;4502:7;:61::i;:::-;4484:3;;;;;;;4444:131;;;;4281:302:::0;;;;:::o;2052:79::-;2090:7;2117:6;;;;;;;;;;;2110:13;;2052:79;:::o;2418:94::-;2458:4;2498:6;;;;;;;;;;;2482:22;;:12;:10;:12::i;:::-;:22;;;2475:29;;2418:94;:::o;4595:249::-;4650:7;4658:6;4665;4692:7;:16;4700:7;4692:16;;;;;;;;;;;;;;;;;;;;;4684:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4761:5;:14;4767:7;4761:14;;;;;;;;;;;:23;;;4785:5;:14;4791:7;4785:14;;;;;;;;;;;:26;;;;;;;;;;;;4812:5;:14;4818:7;4812:14;;;;;;;;;;;:23;;;;;;;;;;;;4753:83;;;;;;4595:249;;;;;:::o;3847:370::-;2264:9;:7;:9::i;:::-;2256:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3974:7:::1;:16;3982:7;3974:16;;;;;;;;;;;;;;;;;;;;;3970:240;;4025:4;4006:7;:16;4014:7;4006:16;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;4061:46;;;;;;;;4066:7;4061:46;;;;4074:9;4061:46;;;;4084:12;4061:46;;;;;;4097:9;4061:46;;;;::::0;4044:5:::1;:14;4050:7;4044:14;;;;;;;;;;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4127:16;4135:7;4127:16;;;;;;;;;;;;;;;;;;3970:240;;;4179:19;4190:7;4179:19;;;;;;;;;;;;;;;;;;3970:240;3847:370:::0;;;;:::o;5261:189::-;5324:6;5351:7;:16;5359:7;5351:16;;;;;;;;;;;;;;;;;;;;;5343:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5419:5;:14;5425:7;5419:14;;;;;;;;;;;:23;;;;;;;;;;;;5412:30;;5261:189;;;:::o;2669:109::-;2264:9;:7;:9::i;:::-;2256:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2742:28:::1;2761:8;2742:18;:28::i;:::-;2669:109:::0;:::o;4856:186::-;4915:7;4943;:16;4951:7;4943:16;;;;;;;;;;;;;;;;;;;;;4935:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5011:5;:14;5017:7;5011:14;;;;;;;;;;;:23;;;5004:30;;4856:186;;;:::o;5054:195::-;5120:6;5147:7;:16;5155:7;5147:16;;;;;;;;;;;;;;;;;;;;;5139:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5215:5;:14;5221:7;5215:14;;;;;;;;;;;:26;;;;;;;;;;;;5208:33;;5054:195;;;:::o;839:98::-;884:15;919:10;912:17;;839:98;:::o;2884:229::-;2978:1;2958:22;;:8;:22;;;;2950:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3068:8;3039:38;;3060:6;;;;;;;;;;3039:38;;;;;;;;;;;;3097:8;3088:6;;:17;;;;;;;;;;;;;;;;;;2884:229;:::o
Swarm Source
ipfs://0e7d4ba79c73f4779a11784e624d56133d91f741e44ae53dff9d0dda2a3b794d
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 |
---|