Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x42EA4c29...C8267c9b7 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
DocumentCertoChainContract
Compiler Version
v0.6.11+commit.5ef660b1
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-07-10
*/
/**
*Submitted for verification at Etherscan.io on 2020-07-10
*/
pragma solidity >=0.6.11;
//SPDX-License-Identifier: UNLICENSED
//certo v20050101006c060 noima (c) all rights reserved 2020
contract BaseCertoChainContract {
address payable creator;
address payable owner;
bool public isSealed;
constructor() public {
creator = msg.sender;
owner = msg.sender;
}
modifier onlyBy(address _account) {
require(msg.sender == _account, "not allowed");
_;
}
modifier onlyIfNotSealed() //semantic when sealed is not possible to change sensible data
{
if (isSealed) revert("sealed");
_;
}
function kill() public onlyBy(owner) {
selfdestruct(owner);
}
function setCreator(address payable _creator) public onlyBy(creator) {
creator = _creator;
//emit EventReady(address(this), "setCreator");
}
function setOwner(address payable _owner) public onlyBy(owner) {
owner = _owner;
//emit EventReady(address(this), "SetOwner");
}
function setSealed() public onlyBy(owner) {
isSealed = true;
emit EventSealed(address(this));
} //seal down contract not reversible
event EventSealed(address self); //invoked when contract is sealed
event EventSetCreator(address self); //invoked when we change creator
event EventSetOwner(address self); //invoked when we change owner
event EventReady(address self, string method); //invoked when we have done the method action
}
contract DocumentCertoChainContract is BaseCertoChainContract {
//string public Description ; //Description the description is in the trasaction log
bytes32 public FileHash; //SecuritySeal HASH
bytes32 public DescriptionHash; //SecuritySeal HASH
int256 public FileData; //SecuritySeal DATA format AAMMDD
address public NextOwner;
address public PrevOwner;
constructor(
string memory _Description,
bytes32 _DescriptionHash,
bytes32 _FileHash,
int256 _FileData
) public {
NextOwner = address(this);
//Description=_Description; the description is in the trasaction log
FileHash = _FileHash;
DescriptionHash = _DescriptionHash;
FileData = _FileData;
emit EventNote(address(this), _Description);
emit EventReady(address(this), "constructor");
}
function setNextOwner(address _NextOwner)
public
onlyBy(creator)
onlyIfNotSealed()
{
NextOwner = _NextOwner;
emit EventNewOwner(address(this));
}
function setPrevOwner(address _PrevOwner)
public
onlyBy(creator)
onlyIfNotSealed()
{
PrevOwner = _PrevOwner;
emit EventNewPrevOwner(address(this));
}
event EventNewOwner(address self);
event EventNewPrevOwner(address self);
event EventNote(address self, string note); // trace a note in the logs
}
contract TagCertoChainContract is BaseCertoChainContract {
bool public isActive;
function constructorx(address payable _owner) public {
owner = (_owner);
emit EventReady(address(this), "constructor");
}
constructor(
address payable _owner,
bytes32 signaturehash,
bytes32 signaturemaskR,
bytes32 signaturemaskS,
uint8 signaturemaskV
) public {
owner = (_owner);
SignatureMaskR = signaturemaskR;
SignatureMaskS = signaturemaskS;
SignatureMaskV = signaturemaskV;
SignatureHash = signaturehash;
emit EventReady(address(this), "constructor");
}
function ActivateTag(address Target) public onlyBy(owner) {
TargetDocument = Target;
emit EventReady(address(this), "ActivateTag");
}
function SignTag(
bytes32 signaturehash,
bytes32 signaturemaskR,
bytes32 signaturemaskS,
uint8 signaturemaskV
) public onlyBy(owner) {
SignatureMaskR = signaturemaskR;
SignatureMaskS = signaturemaskS;
SignatureMaskV = signaturemaskV;
SignatureHash = signaturehash;
emit EventReady(address(this), "SignTag");
}
function VerifyTag(bytes8 signaturepinS)
public
view
returns (string memory)
{
bytes32 signatureR;
bytes32 signatureS;
bytes32 signatureSpad;
signatureSpad = signaturepinS;
signatureR = SignatureMaskR;
signatureS = SignatureMaskS | (signatureSpad);
//emit EventReady(address(this),"VerifyTag");
if (
ecrecover(SignatureHash, SignatureMaskV, signatureR, signatureS) ==
creator
) {
return "OK IS TAG VALID";
} else {
return "NOT A VALID TAG";
}
// return signatureS;
}
function RecoverSigner(
bytes32 msgHash,
bytes32 signaturepinR,
bytes32 signaturepinS
) public view returns (address) {
bytes32 signatureR;
bytes32 signatureS;
signatureR = SignatureMaskR | signaturepinR;
signatureS = SignatureMaskS | signaturepinS;
return ecrecover(msgHash, SignatureMaskV, signatureR, signatureS);
}
address public TargetDocument;
bytes32 public SignatureMaskR;
bytes32 public SignatureMaskS;
uint8 public SignatureMaskV;
bytes32 public SignatureHash;
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"string","name":"_Description","type":"string"},{"internalType":"bytes32","name":"_DescriptionHash","type":"bytes32"},{"internalType":"bytes32","name":"_FileHash","type":"bytes32"},{"internalType":"int256","name":"_FileData","type":"int256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"self","type":"address"}],"name":"EventNewOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"self","type":"address"}],"name":"EventNewPrevOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"self","type":"address"},{"indexed":false,"internalType":"string","name":"note","type":"string"}],"name":"EventNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"self","type":"address"},{"indexed":false,"internalType":"string","name":"method","type":"string"}],"name":"EventReady","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"self","type":"address"}],"name":"EventSealed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"self","type":"address"}],"name":"EventSetCreator","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"self","type":"address"}],"name":"EventSetOwner","type":"event"},{"inputs":[],"name":"DescriptionHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FileData","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FileHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NextOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PrevOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSealed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"kill","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_creator","type":"address"}],"name":"setCreator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_NextOwner","type":"address"}],"name":"setNextOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_PrevOwner","type":"address"}],"name":"setPrevOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setSealed","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
0x608060405234801561001057600080fd5b5060405161081d38038061081d8339818101604052608081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020838101518483015160609586015160008054336001600160a01b031991821681178355600180548316909117905560058054309216821790556002849055600385905560048390558088528588018781528c51978901979097528b51949a5092985090967f571838f5402e869e520e26df7f672aa0a0ed02bc7e2bf9b54def57db64fa6f929692958b959394909391850192918601918190849084905b83811015610199578181015183820152602001610181565b50505050905090810190601f1680156101c65780820380516001836020036101000a031916815260200191505b50935050505060405180910390a16040805130815260208101829052600b818301526a31b7b739ba393ab1ba37b960a91b606082015290517fdeee49121786e5dd3d7163aaba8eebbb9a3d64c6965ae64fe485db5507d3f49a9181900360800190a1505050506105e28061023b6000396000f3fe608060405234801561001057600080fd5b50600436106100a45760003560e01c806313af4035146100a95780632d202d24146100d15780633f516018146100f757806341c0e1b51461011d57806344673b2d14610125578063449c198d14610149578063475169101461015157806350ac98281461016b578063631f9852146101735780637b7e4f211461018f578063a07c132b14610197578063f0456691146101bd575b600080fd5b6100cf600480360360208110156100bf57600080fd5b50356001600160a01b03166101c5565b005b6100cf600480360360208110156100e757600080fd5b50356001600160a01b0316610236565b6100cf6004803603602081101561010d57600080fd5b50356001600160a01b031661031f565b6100cf610390565b61012d6103ec565b604080516001600160a01b039092168252519081900360200190f35b6100cf6103fb565b610159610492565b60408051918252519081900360200190f35b610159610498565b61017b61049e565b604080519115158252519081900360200190f35b6101596104ae565b6100cf600480360360208110156101ad57600080fd5b50356001600160a01b03166104b4565b61012d61059d565b6001546001600160a01b0316338114610213576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b604482015290519081900360640190fd5b50600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316338114610284576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b604482015290519081900360640190fd5b600154600160a01b900460ff16156102cc576040805162461bcd60e51b81526020600482015260066024820152651cd9585b195960d21b604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b0384161790556040805130815290517fa0ccbd67048573ce351c45b2a4b73bf775758608cc269a83ff7a9f9dd6640542916020908290030190a15050565b6000546001600160a01b031633811461036d576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b604482015290519081900360640190fd5b50600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163381146103de576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b604482015290519081900360640190fd5b6001546001600160a01b0316ff5b6005546001600160a01b031681565b6001546001600160a01b0316338114610449576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b1790556040805130815290517f4eb6783909ea07b0aa366e4b899fdbcd45aef4172ea91e7d25c878f2ac4a11419181900360200190a150565b60025481565b60045481565b600154600160a01b900460ff1681565b60035481565b6000546001600160a01b0316338114610502576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b604482015290519081900360640190fd5b600154600160a01b900460ff161561054a576040805162461bcd60e51b81526020600482015260066024820152651cd9585b195960d21b604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b0384161790556040805130815290517f8503f87567a546e113bb8e9f354d9d58486f32ed1fee0ee7a2d7176dcfc00039916020908290030190a15050565b6006546001600160a01b03168156fea2646970667358221220494c3296d0fd36ffcb1b3771ac31972c4549cbc0c578009fb5811b17e0daffb664736f6c634300060b00330000000000000000000000000000000000000000000000000000000000000080187be90563bf3448255294b585d34ee0a358a229183b20a20d1a6d92c82706b3cd59b297955d43492057b43c946750a6cd18d6e6826a3f144442d5bfca7ce21e0000000000000000000000000000000000000000000000000000002f089080e00000000000000000000000000000000000000000000000000000000000000030414e54494e43454e44494f204d4544494f205249534348494f0a436f6469636520636f72736f3a20323032303030333900000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100a45760003560e01c806313af4035146100a95780632d202d24146100d15780633f516018146100f757806341c0e1b51461011d57806344673b2d14610125578063449c198d14610149578063475169101461015157806350ac98281461016b578063631f9852146101735780637b7e4f211461018f578063a07c132b14610197578063f0456691146101bd575b600080fd5b6100cf600480360360208110156100bf57600080fd5b50356001600160a01b03166101c5565b005b6100cf600480360360208110156100e757600080fd5b50356001600160a01b0316610236565b6100cf6004803603602081101561010d57600080fd5b50356001600160a01b031661031f565b6100cf610390565b61012d6103ec565b604080516001600160a01b039092168252519081900360200190f35b6100cf6103fb565b610159610492565b60408051918252519081900360200190f35b610159610498565b61017b61049e565b604080519115158252519081900360200190f35b6101596104ae565b6100cf600480360360208110156101ad57600080fd5b50356001600160a01b03166104b4565b61012d61059d565b6001546001600160a01b0316338114610213576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b604482015290519081900360640190fd5b50600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316338114610284576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b604482015290519081900360640190fd5b600154600160a01b900460ff16156102cc576040805162461bcd60e51b81526020600482015260066024820152651cd9585b195960d21b604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b0384161790556040805130815290517fa0ccbd67048573ce351c45b2a4b73bf775758608cc269a83ff7a9f9dd6640542916020908290030190a15050565b6000546001600160a01b031633811461036d576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b604482015290519081900360640190fd5b50600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163381146103de576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b604482015290519081900360640190fd5b6001546001600160a01b0316ff5b6005546001600160a01b031681565b6001546001600160a01b0316338114610449576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b1790556040805130815290517f4eb6783909ea07b0aa366e4b899fdbcd45aef4172ea91e7d25c878f2ac4a11419181900360200190a150565b60025481565b60045481565b600154600160a01b900460ff1681565b60035481565b6000546001600160a01b0316338114610502576040805162461bcd60e51b815260206004820152600b60248201526a1b9bdd08185b1b1bddd95960aa1b604482015290519081900360640190fd5b600154600160a01b900460ff161561054a576040805162461bcd60e51b81526020600482015260066024820152651cd9585b195960d21b604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b0384161790556040805130815290517f8503f87567a546e113bb8e9f354d9d58486f32ed1fee0ee7a2d7176dcfc00039916020908290030190a15050565b6006546001600160a01b03168156fea2646970667358221220494c3296d0fd36ffcb1b3771ac31972c4549cbc0c578009fb5811b17e0daffb664736f6c634300060b0033
Deployed Bytecode Sourcemap
1604:1483:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;964:151;;;;;;;;;;;;;;;;-1:-1:-1;964:151:0;-1:-1:-1;;;;;964:151:0;;:::i;:::-;;2507:200;;;;;;;;;;;;;;;;-1:-1:-1;2507:200:0;-1:-1:-1;;;;;2507:200:0;;:::i;793:163::-;;;;;;;;;;;;;;;;-1:-1:-1;793:163:0;-1:-1:-1;;;;;793:163:0;;:::i;710:75::-;;;:::i;1939:24::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1939:24:0;;;;;;;;;;;;;;1123:118;;;:::i;1767:23::-;;;:::i;:::-;;;;;;;;;;;;;;;;1874:22;;;:::i;301:20::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;1817:30;;;:::i;2715:204::-;;;;;;;;;;;;;;;;-1:-1:-1;2715:204:0;-1:-1:-1;;;;;2715:204:0;;:::i;1970:24::-;;;:::i;964:151::-;1020:5;;-1:-1:-1;;;;;1020:5:0;480:10;:22;;472:46;;;;;-1:-1:-1;;;472:46:0;;;;;;;;;;;;-1:-1:-1;;;472:46:0;;;;;;;;;;;;;;;-1:-1:-1;1038:5:0::1;:14:::0;;-1:-1:-1;;;;;;1038:14:0::1;-1:-1:-1::0;;;;;1038:14:0;;;::::1;::::0;;;::::1;::::0;;964:151::o;2507:200::-;2581:7;;-1:-1:-1;;;;;2581:7:0;480:10;:22;;472:46;;;;;-1:-1:-1;;;472:46:0;;;;;;;;;;;;-1:-1:-1;;;472:46:0;;;;;;;;;;;;;;;656:8:::1;::::0;-1:-1:-1;;;656:8:0;::::1;;;652:30;;;666:16;::::0;;-1:-1:-1;;;666:16:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;666:16:0;;;;;;;;;;;;;::::1;652:30;2633:9:::2;:22:::0;;-1:-1:-1;;;;;;2633:22:0::2;-1:-1:-1::0;;;;;2633:22:0;::::2;;::::0;;2671:28:::2;::::0;;2693:4:::2;2671:28:::0;;;;::::2;::::0;::::2;::::0;;;;;;::::2;2507:200:::0;;:::o;793:163::-;853:7;;-1:-1:-1;;;;;853:7:0;480:10;:22;;472:46;;;;;-1:-1:-1;;;472:46:0;;;;;;;;;;;;-1:-1:-1;;;472:46:0;;;;;;;;;;;;;;;-1:-1:-1;873:7:0::1;:18:::0;;-1:-1:-1;;;;;;873:18:0::1;-1:-1:-1::0;;;;;873:18:0;;;::::1;::::0;;;::::1;::::0;;793:163::o;710:75::-;740:5;;-1:-1:-1;;;;;740:5:0;480:10;:22;;472:46;;;;;-1:-1:-1;;;472:46:0;;;;;;;;;;;;-1:-1:-1;;;472:46:0;;;;;;;;;;;;;;;771:5:::1;::::0;-1:-1:-1;;;;;771:5:0::1;758:19;1939:24:::0;;;-1:-1:-1;;;;;1939:24:0;;:::o;1123:118::-;1158:5;;-1:-1:-1;;;;;1158:5:0;480:10;:22;;472:46;;;;;-1:-1:-1;;;472:46:0;;;;;;;;;;;;-1:-1:-1;;;472:46:0;;;;;;;;;;;;;;;1187:4:::1;1176:15:::0;;-1:-1:-1;;;;1176:15:0::1;-1:-1:-1::0;;;1176:15:0::1;::::0;;1207:26:::1;::::0;;1227:4:::1;1207:26:::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;1123:118:::0;:::o;1767:23::-;;;;:::o;1874:22::-;;;;:::o;301:20::-;;;-1:-1:-1;;;301:20:0;;;;;:::o;1817:30::-;;;;:::o;2715:204::-;2789:7;;-1:-1:-1;;;;;2789:7:0;480:10;:22;;472:46;;;;;-1:-1:-1;;;472:46:0;;;;;;;;;;;;-1:-1:-1;;;472:46:0;;;;;;;;;;;;;;;656:8:::1;::::0;-1:-1:-1;;;656:8:0;::::1;;;652:30;;;666:16;::::0;;-1:-1:-1;;;666:16:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;666:16:0;;;;;;;;;;;;;::::1;652:30;2841:9:::2;:22:::0;;-1:-1:-1;;;;;;2841:22:0::2;-1:-1:-1::0;;;;;2841:22:0;::::2;;::::0;;2879:32:::2;::::0;;2905:4:::2;2879:32:::0;;;;::::2;::::0;::::2;::::0;;;;;;::::2;2715:204:::0;;:::o;1970:24::-;;;-1:-1:-1;;;;;1970:24:0;;:::o
Swarm Source
ipfs://494c3296d0fd36ffcb1b3771ac31972c4549cbc0c578009fb5811b17e0daffb6
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.