More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 26 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Immortality | 16064863 | 730 days ago | IN | 0 ETH | 0.00030828 | ||||
Remove | 16022609 | 736 days ago | IN | 0 ETH | 0.00032925 | ||||
0x8a2fde8a | 12272123 | 1318 days ago | IN | 0 ETH | 0.01160478 | ||||
Add Emitter | 12272120 | 1318 days ago | IN | 0 ETH | 0.01097662 | ||||
0x8a2fde8a | 12185822 | 1331 days ago | IN | 0 ETH | 0.14020572 | ||||
0x8a2fde8a | 12185815 | 1331 days ago | IN | 0 ETH | 0.00269868 | ||||
Add Emitter | 12185815 | 1331 days ago | IN | 0 ETH | 0.00668556 | ||||
Add Version | 12185815 | 1331 days ago | IN | 0 ETH | 0.0322524 | ||||
Add Version | 9882275 | 1686 days ago | IN | 0 ETH | 0.00028008 | ||||
Set Ambi Address | 9882275 | 1686 days ago | IN | 0 ETH | 0.00018475 | ||||
Setup Stack Dept... | 9882275 | 1686 days ago | IN | 0 ETH | 0.0003478 | ||||
Immortality | 6080894 | 2308 days ago | IN | 0 ETH | 0.00009655 | ||||
Transfer | 4163352 | 2660 days ago | IN | 0.0001 ETH | 0.00076601 | ||||
Add Version | 3390157 | 2808 days ago | IN | 0 ETH | 0.00714564 | ||||
Add Emitter | 3390128 | 2808 days ago | IN | 0 ETH | 0.00098762 | ||||
Add Version | 1909282 | 3054 days ago | IN | 0 ETH | 0.00372342 | ||||
Add Emitter | 1909263 | 3054 days ago | IN | 0 ETH | 0.00092822 | ||||
Add Emitter | 1909263 | 3054 days ago | IN | 0 ETH | 0.00092822 | ||||
Add Emitter | 1909263 | 3054 days ago | IN | 0 ETH | 0.00092822 | ||||
Add Emitter | 1909263 | 3054 days ago | IN | 0 ETH | 0.00092822 | ||||
Add Emitter | 1909263 | 3054 days ago | IN | 0 ETH | 0.00092822 | ||||
Add Emitter | 1909263 | 3054 days ago | IN | 0 ETH | 0.00092822 | ||||
Add Emitter | 1909263 | 3054 days ago | IN | 0 ETH | 0.00092822 | ||||
Add Emitter | 1909263 | 3054 days ago | IN | 0 ETH | 0.00092822 | ||||
Set Ambi Address | 1909255 | 3054 days ago | IN | 0 ETH | 0.00307778 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | ||||
---|---|---|---|---|---|---|---|
21281305 | 34 mins ago | 0 ETH | |||||
21281305 | 34 mins ago | 0 ETH | |||||
21281305 | 34 mins ago | 0 ETH | |||||
21281305 | 34 mins ago | 0 ETH | |||||
21281305 | 34 mins ago | 0 ETH | |||||
21281305 | 34 mins ago | 0 ETH | |||||
21281305 | 34 mins ago | 0 ETH | |||||
21281305 | 34 mins ago | 0 ETH | |||||
21281305 | 34 mins ago | 0 ETH | |||||
21281305 | 34 mins ago | 0 ETH | |||||
21281261 | 43 mins ago | 0 ETH | |||||
21281261 | 43 mins ago | 0 ETH | |||||
21281261 | 43 mins ago | 0 ETH | |||||
21281261 | 43 mins ago | 0 ETH | |||||
21281261 | 43 mins ago | 0 ETH | |||||
21281261 | 43 mins ago | 0 ETH | |||||
21281261 | 43 mins ago | 0 ETH | |||||
21281261 | 43 mins ago | 0 ETH | |||||
21281261 | 43 mins ago | 0 ETH | |||||
21281261 | 43 mins ago | 0 ETH | |||||
21281223 | 50 mins ago | 0 ETH | |||||
21281223 | 50 mins ago | 0 ETH | |||||
21281223 | 50 mins ago | 0 ETH | |||||
21281223 | 50 mins ago | 0 ETH | |||||
21281223 | 50 mins ago | 0 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
EventsHistory
Compiler Version
v0.3.5-nightly.2016.7.1+commit.48238c9
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-08-02 */ // This software is a subject to Ambisafe License Agreement. // No use or distribution is allowed without written permission from Ambisafe. // https://ambisafe.com/terms.pdf contract Ambi { function getNodeAddress(bytes32 _nodeName) constant returns(address); function hasRelation(bytes32 _nodeName, bytes32 _relation, address _to) constant returns(bool); function addNode(bytes32 _nodeName, address _nodeAddress) constant returns(bool); } contract AmbiEnabled { Ambi public ambiC; bool public isImmortal; bytes32 public name; modifier checkAccess(bytes32 _role) { if(address(ambiC) != 0x0 && ambiC.hasRelation(name, _role, msg.sender)){ _ } } function getAddress(bytes32 _name) constant returns (address) { return ambiC.getNodeAddress(_name); } function setAmbiAddress(address _ambi, bytes32 _name) returns (bool){ if(address(ambiC) != 0x0){ return false; } Ambi ambiContract = Ambi(_ambi); if(ambiContract.getNodeAddress(_name)!=address(this)) { if (!ambiContract.addNode(_name, address(this))){ return false; } } name = _name; ambiC = ambiContract; return true; } function immortality() checkAccess("owner") returns(bool) { isImmortal = true; return true; } function remove() checkAccess("owner") returns(bool) { if (isImmortal) { return false; } selfdestruct(msg.sender); return true; } } library StackDepthLib { // This will probably work with a value of 390 but no need to cut it // that close in the case that the optimizer changes slightly or // something causing that number to rise slightly. uint constant GAS_PER_DEPTH = 400; function checkDepth(address self, uint n) constant returns(bool) { if (n == 0) return true; return self.call.gas(GAS_PER_DEPTH * n)(0x21835af6, n - 1); } function __dig(uint n) constant { if (n == 0) return; if (!address(this).delegatecall(0x21835af6, n - 1)) throw; } } contract Safe { // Should always be placed as first modifier! modifier noValue { if (msg.value > 0) { // Internal Out Of Gas/Throw: revert this transaction too; // Call Stack Depth Limit reached: revert this transaction too; // Recursive Call: safe, no any changes applied yet, we are inside of modifier. _safeSend(msg.sender, msg.value); } _ } modifier onlyHuman { if (_isHuman()) { _ } } modifier noCallback { if (!isCall) { _ } } modifier immutable(address _address) { if (_address == 0) { _ } } address stackDepthLib; function setupStackDepthLib(address _stackDepthLib) immutable(address(stackDepthLib)) returns(bool) { stackDepthLib = _stackDepthLib; return true; } modifier requireStackDepth(uint16 _depth) { if (stackDepthLib == 0x0) { throw; } if (_depth > 1023) { throw; } if (!stackDepthLib.delegatecall(0x32921690, stackDepthLib, _depth)) { throw; } _ } // Must not be used inside the functions that have noValue() modifier! function _safeFalse() internal noValue() returns(bool) { return false; } function _safeSend(address _to, uint _value) internal { if (!_unsafeSend(_to, _value)) { throw; } } function _unsafeSend(address _to, uint _value) internal returns(bool) { return _to.call.value(_value)(); } function _isContract() constant internal returns(bool) { return msg.sender != tx.origin; } function _isHuman() constant internal returns(bool) { return !_isContract(); } bool private isCall = false; function _setupNoCallback() internal { isCall = true; } function _finishNoCallback() internal { isCall = false; } } /** * @title Events History universal contract. * * Contract serves as an Events storage and version history for a particular contract type. * Events appear on this contract address but their definitions provided by other contracts/libraries. * Version info is provided for historical and informational purposes. * * Note: all the non constant functions return false instead of throwing in case if state change * didn't happen yet. */ contract EventsHistory is AmbiEnabled, Safe { // Event emitter signature to address with Event definiton mapping. mapping(bytes4 => address) public emitters; // Calling contract address to version mapping. mapping(address => uint) public versions; // Version to info mapping. mapping(uint => VersionInfo) public versionInfo; // Latest verion number. uint public latestVersion; struct VersionInfo { uint block; // Block number in which version has been introduced. address by; // Contract owner address who added version. address caller; // Address of this version calling contract. string name; // Version name, informative. string changelog; // Version changelog, informative. } /** * Assign emitter address to a specified emit function signature. * * Can be set only once for each signature, and only by contract owner. * Caller contract should be sure that emitter for a particular signature will never change. * * @param _eventSignature signature of the event emitting function. * @param _emitter address with Event definition. * * @return success. */ function addEmitter(bytes4 _eventSignature, address _emitter) noValue() checkAccess("admin") returns(bool) { if (emitters[_eventSignature] != 0x0) { return false; } emitters[_eventSignature] = _emitter; return true; } /** * Introduce new caller contract version specifing version information. * * Can be set only once for each caller, and only by contract owner. * Name and changelog should not be empty. * * @param _caller address of the new caller. * @param _name version name. * @param _changelog version changelog. * * @return success. */ function addVersion(address _caller, string _name, string _changelog) noValue() checkAccess("admin") returns(bool) { if (versions[_caller] != 0) { return false; } if (bytes(_name).length == 0) { return false; } if (bytes(_changelog).length == 0) { return false; } uint version = ++latestVersion; versions[_caller] = version; versionInfo[version] = VersionInfo(block.number, msg.sender, _caller, _name, _changelog); return true; } /** * Event emitting fallback. * * Can be and only called caller with assigned version. * Resolves msg.sig to an emitter address, and calls it to emit an event. * * Throws if emit function signature is not registered, or call failed. */ function () noValue() { if (versions[msg.sender] == 0) { return; } // Internal Out Of Gas/Throw: revert this transaction too; // Call Stack Depth Limit reached: revert this transaction too; // Recursive Call: safe, all changes already made. if (!emitters[msg.sig].delegatecall(msg.data)) { throw; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"bytes32"}],"type":"function"},{"constant":false,"inputs":[{"name":"_stackDepthLib","type":"address"}],"name":"setupStackDepthLib","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_eventSignature","type":"bytes4"},{"name":"_emitter","type":"address"}],"name":"addEmitter","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"bytes32"}],"name":"getAddress","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"versions","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"ambiC","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"_caller","type":"address"},{"name":"_name","type":"string"},{"name":"_changelog","type":"string"}],"name":"addVersion","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"isImmortal","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_ambi","type":"address"},{"name":"_name","type":"bytes32"}],"name":"setAmbiAddress","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"versionInfo","outputs":[{"name":"block","type":"uint256"},{"name":"by","type":"address"},{"name":"caller","type":"address"},{"name":"name","type":"string"},{"name":"changelog","type":"string"}],"type":"function"},{"constant":false,"inputs":[],"name":"remove","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"latestVersion","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes4"}],"name":"emitters","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[],"name":"immortality","outputs":[{"name":"","type":"bool"}],"type":"function"}]
Contract Creation Code
60606040526002805460a060020a60ff0219169055610b55806100226000396000f3606060405236156100ae5760e060020a600035046306fdde0381146100ef57806312ab7242146100f857806313426d871461013057806321f8a7211461014e578063488725a0146101c657806352959d16146101de57806362d020d9146101f057806377f18ed3146102905780637948f523146102a357806387114b8c146102c6578063a7f4377914610303578063c07f47d4146103b1578063e33dafbf146103ba578063f7c3ee7a146103db575b61049b600034111561049d5761049d33345b61068e8282604051600090600160a060020a0384169083908381818185876185025a03f19250505090506106c0565b61052460015481565b610536600435600254600090600160a060020a03168082141561069d57505060028054600160a060020a03191682179055600161069f565b610536600435602435600060003411156106c6576106c633346100c0565b61054a60043560408051600080547f2ade6c360000000000000000000000000000000000000000000000000000000083526004830185905292519092600160a060020a031691632ade6c36916024828101926020929190829003018187876161da5a03f11561000257505060405151915061069f9050565b61052460043560046020526000908152604090205481565b61054a600054600160a060020a031681565b60408051602060248035600481810135601f81018590048502860185019096528585526105369581359591946044949293909201918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a0190935282825296989760649791965060249190910194509092508291508401838280828437509496505050505050506000600060003411156107c6576107c633346100c0565b61053660005460a060020a900460ff1681565b610536600435602435600080548190600160a060020a03168114610a74576106be565b61056760043560056020526000908152604090208054600182015460028301549192600160a060020a039182169290911690600381019060040185565b6105366000805460d960020a6437bbb732b90290600160a060020a03168214801590610391575081546001546040805160e460020a630a1add51028152600481019290925260248201849052600160a060020a033381166044840152905192169163a1add51091606481810192602092909190829003018188876161da5a03f1156100025750506040515190505b15610a315760005460a060020a900460ff1615610b495760009150505b90565b61052460065481565b61054a600435600360205260009081526040902054600160a060020a031681565b6105366000805460d960020a6437bbb732b90290600160a060020a03168214801590610469575081546001546040805160e460020a630a1add51028152600481019290925260248201849052600160a060020a033381166044840152905192169163a1add51091606481810192602092909190829003018188876161da5a03f1156100025750506040515190505b15610a315750506000805474ff0000000000000000000000000000000000000000191660a060020a17905560016103ae565b005b600160a060020a03331660009081526004602052604081205414156104bf575b565b600160e060020a03196000803591909116815260036020526040808220549051600160a060020a039190911691903690808383808284378201915050925050506020604051808303818560325a03f4156100025750506040515115156104bd57610002565b60408051918252519081900360200190f35b604080519115158252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b60408051868152600160a060020a03868116602083015285169181019190915260a06060820181815284546002600182161561010002600019019091160491830182905290608083019060c0840190869080156106055780601f106105da57610100808354040283529160200191610605565b820191906000526020600020905b8154815290600101906020018083116105e857829003601f168201915b50508381038252845460026001821615610100026000190190911604808252602091909101908590801561067a5780601f1061064f5761010080835404028352916020019161067a565b820191906000526020600020905b81548152906001019060200180831161065d57829003601f168201915b505097505050505050505060405180910390f35b151561069957610002565b5050565b505b919050565b600183815560008054600160a060020a0319168317905591505b505b92915050565b6000805460d960020a6430b236b4b70291600160a060020a0391909116148015906107535750604080516000805460015460e460020a630a1add51028452600484015260248301859052600160a060020a033381166044850152935193169263a1add5109260648181019360209392839003909101908290876161da5a03f1156100025750506040515190505b156106be57600160e060020a03198416600090815260036020526040812054600160a060020a03161461078a5760009150506106c0565b5050600160e060020a0319821660009081526003602052604090208054600160a060020a0319168217905560016106c0565b505b509392505050565b6000805460d960020a6430b236b4b70291600160a060020a0391909116148015906108535750604080516000805460015460e460020a630a1add51028452600484015260248301859052600160a060020a033381166044850152935193169263a1add5109260648181019360209392839003909101908290876161da5a03f1156100025750506040515190505b156107bc57600160a060020a038616600090815260046020526040812054146108805760009250506107be565b8451600014156108945760009250506107be565b8351600014156108a85760009250506107be565b60068054600190810191829055600160a060020a0388166000908152600460209081526040808320859055805160a081018252438152338184019081528183018d8152606083018d8152608084018d9052888752600586529386208351815591518288018054600160a060020a031990811690921790559051600283810180549093169091179091559251805160038301805481895297879020999b5093989297939693841615610100026000190190931693909304601f9081018590048201949293919291909101908390106109a257805160ff19168380011785555b506109d29291505b80821115610a31576000815560010161098e565b82800160010185558215610986579182015b828111156109865782518260005055916020019190600101906109b4565b50506080820151816004016000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610a3557805160ff19168380011785555b50610a6592915061098e565b5090565b82800160010185558215610a25579182015b82811115610a25578251826000505591602001919060010190610a47565b505090505060019250506107be565b83905030600160a060020a031681600160a060020a0316632ade6c36856040518260e060020a02815260040180826000191681526020019150506020604051808303816000876161da5a03f11561000257505060405151600160a060020a031690911490506106a45780600160a060020a0316637684937684306040518360e060020a028152600401808360001916815260200182600160a060020a03168152602001925050506020604051808303816000876161da5a03f11561000257505060405151151590506106a457600091506106be565b33600160a060020a0316ff
Deployed Bytecode
0x606060405236156100ae5760e060020a600035046306fdde0381146100ef57806312ab7242146100f857806313426d871461013057806321f8a7211461014e578063488725a0146101c657806352959d16146101de57806362d020d9146101f057806377f18ed3146102905780637948f523146102a357806387114b8c146102c6578063a7f4377914610303578063c07f47d4146103b1578063e33dafbf146103ba578063f7c3ee7a146103db575b61049b600034111561049d5761049d33345b61068e8282604051600090600160a060020a0384169083908381818185876185025a03f19250505090506106c0565b61052460015481565b610536600435600254600090600160a060020a03168082141561069d57505060028054600160a060020a03191682179055600161069f565b610536600435602435600060003411156106c6576106c633346100c0565b61054a60043560408051600080547f2ade6c360000000000000000000000000000000000000000000000000000000083526004830185905292519092600160a060020a031691632ade6c36916024828101926020929190829003018187876161da5a03f11561000257505060405151915061069f9050565b61052460043560046020526000908152604090205481565b61054a600054600160a060020a031681565b60408051602060248035600481810135601f81018590048502860185019096528585526105369581359591946044949293909201918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a0190935282825296989760649791965060249190910194509092508291508401838280828437509496505050505050506000600060003411156107c6576107c633346100c0565b61053660005460a060020a900460ff1681565b610536600435602435600080548190600160a060020a03168114610a74576106be565b61056760043560056020526000908152604090208054600182015460028301549192600160a060020a039182169290911690600381019060040185565b6105366000805460d960020a6437bbb732b90290600160a060020a03168214801590610391575081546001546040805160e460020a630a1add51028152600481019290925260248201849052600160a060020a033381166044840152905192169163a1add51091606481810192602092909190829003018188876161da5a03f1156100025750506040515190505b15610a315760005460a060020a900460ff1615610b495760009150505b90565b61052460065481565b61054a600435600360205260009081526040902054600160a060020a031681565b6105366000805460d960020a6437bbb732b90290600160a060020a03168214801590610469575081546001546040805160e460020a630a1add51028152600481019290925260248201849052600160a060020a033381166044840152905192169163a1add51091606481810192602092909190829003018188876161da5a03f1156100025750506040515190505b15610a315750506000805474ff0000000000000000000000000000000000000000191660a060020a17905560016103ae565b005b600160a060020a03331660009081526004602052604081205414156104bf575b565b600160e060020a03196000803591909116815260036020526040808220549051600160a060020a039190911691903690808383808284378201915050925050506020604051808303818560325a03f4156100025750506040515115156104bd57610002565b60408051918252519081900360200190f35b604080519115158252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b60408051868152600160a060020a03868116602083015285169181019190915260a06060820181815284546002600182161561010002600019019091160491830182905290608083019060c0840190869080156106055780601f106105da57610100808354040283529160200191610605565b820191906000526020600020905b8154815290600101906020018083116105e857829003601f168201915b50508381038252845460026001821615610100026000190190911604808252602091909101908590801561067a5780601f1061064f5761010080835404028352916020019161067a565b820191906000526020600020905b81548152906001019060200180831161065d57829003601f168201915b505097505050505050505060405180910390f35b151561069957610002565b5050565b505b919050565b600183815560008054600160a060020a0319168317905591505b505b92915050565b6000805460d960020a6430b236b4b70291600160a060020a0391909116148015906107535750604080516000805460015460e460020a630a1add51028452600484015260248301859052600160a060020a033381166044850152935193169263a1add5109260648181019360209392839003909101908290876161da5a03f1156100025750506040515190505b156106be57600160e060020a03198416600090815260036020526040812054600160a060020a03161461078a5760009150506106c0565b5050600160e060020a0319821660009081526003602052604090208054600160a060020a0319168217905560016106c0565b505b509392505050565b6000805460d960020a6430b236b4b70291600160a060020a0391909116148015906108535750604080516000805460015460e460020a630a1add51028452600484015260248301859052600160a060020a033381166044850152935193169263a1add5109260648181019360209392839003909101908290876161da5a03f1156100025750506040515190505b156107bc57600160a060020a038616600090815260046020526040812054146108805760009250506107be565b8451600014156108945760009250506107be565b8351600014156108a85760009250506107be565b60068054600190810191829055600160a060020a0388166000908152600460209081526040808320859055805160a081018252438152338184019081528183018d8152606083018d8152608084018d9052888752600586529386208351815591518288018054600160a060020a031990811690921790559051600283810180549093169091179091559251805160038301805481895297879020999b5093989297939693841615610100026000190190931693909304601f9081018590048201949293919291909101908390106109a257805160ff19168380011785555b506109d29291505b80821115610a31576000815560010161098e565b82800160010185558215610986579182015b828111156109865782518260005055916020019190600101906109b4565b50506080820151816004016000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610a3557805160ff19168380011785555b50610a6592915061098e565b5090565b82800160010185558215610a25579182015b82811115610a25578251826000505591602001919060010190610a47565b505090505060019250506107be565b83905030600160a060020a031681600160a060020a0316632ade6c36856040518260e060020a02815260040180826000191681526020019150506020604051808303816000876161da5a03f11561000257505060405151600160a060020a031690911490506106a45780600160a060020a0316637684937684306040518360e060020a028152600401808360001916815260200182600160a060020a03168152602001925050506020604051808303816000876161da5a03f11561000257505060405151151590506106a457600091506106be565b33600160a060020a0316ff
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.000046 | 48,904.5736 | $2.26 |
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.