More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 31,506 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 24756049 | 3 hrs ago | IN | 0 ETH | 0.00000305 | ||||
| Transfer | 24544299 | 29 days ago | IN | 0 ETH | 0.00000291 | ||||
| Transfer | 23420008 | 186 days ago | IN | 0 ETH | 0.00006537 | ||||
| Approve | 22193341 | 358 days ago | IN | 0 ETH | 0.00002672 | ||||
| Transfer | 22186652 | 359 days ago | IN | 0 ETH | 0.00002139 | ||||
| Transfer | 22186642 | 359 days ago | IN | 0 ETH | 0.00002041 | ||||
| Transfer | 22186640 | 359 days ago | IN | 0 ETH | 0.00002075 | ||||
| Transfer | 22186639 | 359 days ago | IN | 0 ETH | 0.0000209 | ||||
| Transfer | 22186632 | 359 days ago | IN | 0 ETH | 0.000021 | ||||
| Transfer | 22186630 | 359 days ago | IN | 0 ETH | 0.00002023 | ||||
| Transfer | 22186627 | 359 days ago | IN | 0 ETH | 0.00001861 | ||||
| Transfer | 22186626 | 359 days ago | IN | 0 ETH | 0.00001949 | ||||
| Transfer | 22186624 | 359 days ago | IN | 0 ETH | 0.00002019 | ||||
| Transfer | 22186621 | 359 days ago | IN | 0 ETH | 0.00001997 | ||||
| Transfer | 22186619 | 359 days ago | IN | 0 ETH | 0.00002011 | ||||
| Transfer | 22186617 | 359 days ago | IN | 0 ETH | 0.00002039 | ||||
| Transfer | 22186616 | 359 days ago | IN | 0 ETH | 0.00002112 | ||||
| Transfer | 22186614 | 359 days ago | IN | 0 ETH | 0.0000195 | ||||
| Transfer | 22186610 | 359 days ago | IN | 0 ETH | 0.00002004 | ||||
| Transfer | 22186608 | 359 days ago | IN | 0 ETH | 0.00001954 | ||||
| Transfer | 22186607 | 359 days ago | IN | 0 ETH | 0.00001875 | ||||
| Transfer | 22186605 | 359 days ago | IN | 0 ETH | 0.00001858 | ||||
| Transfer | 22186599 | 359 days ago | IN | 0 ETH | 0.00001836 | ||||
| Transfer | 22186594 | 359 days ago | IN | 0 ETH | 0.00001727 | ||||
| Transfer | 22186590 | 359 days ago | IN | 0 ETH | 0.00001813 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Opacity
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-11-10
*/
pragma solidity ^0.4.25;
interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; }
contract Opacity {
// Public variables of OPQ
string public name;
string public symbol;
uint8 public decimals;
uint256 public totalSupply;
uint256 public funds;
address public director;
bool public directorLock;
uint256 public claimAmount;
uint256 public payAmount;
uint256 public feeAmount;
uint256 public epoch;
uint256 public retentionMax;
// Array definitions
mapping (address => uint256) public balances;
mapping (address => mapping (address => uint256)) public allowance;
mapping (address => bool) public buried;
mapping (address => uint256) public claimed;
// ERC20 event
event Transfer(address indexed _from, address indexed _to, uint256 _value);
// ERC20 event
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
// This notifies clients about the amount burnt
event Burn(address indexed _from, uint256 _value);
// This notifies clients about an address getting buried
event Bury(address indexed _target, uint256 _value);
// This notifies clients about a claim being made on a buried address
event Claim(address indexed _target, address indexed _payout, address indexed _fee);
/**
* Constructor function
*
* Initializes contract
*/
function Opacity() public payable {
director = msg.sender;
name = "Opacity";
symbol = "OPQ";
decimals = 18;
directorLock = false;
funds = 0;
totalSupply = 130000000 * 10 ** uint256(decimals);
// Assign reserved OPQ supply to the director
balances[director] = totalSupply;
// Define default values for Opacity functions
claimAmount = 5 * 10 ** (uint256(decimals) - 1);
payAmount = 4 * 10 ** (uint256(decimals) - 1);
feeAmount = 1 * 10 ** (uint256(decimals) - 1);
// Seconds in a year
epoch = 31536000;
// Maximum time for a sector to remain stored
retentionMax = 40 * 10 ** uint256(decimals);
}
/**
* ERC20 balance function
*/
function balanceOf(address _owner) public constant returns (uint256 balance) {
return balances[_owner];
}
modifier onlyDirector {
// Director can lock themselves out to complete decentralization of Opacity
// An alternative is that another smart contract could become the decentralized director
require(!directorLock);
// Only the director is permitted
require(msg.sender == director);
_;
}
modifier onlyDirectorForce {
// Only the director is permitted
require(msg.sender == director);
_;
}
/**
* Transfers the director to a new address
*/
function transferDirector(address newDirector) public onlyDirectorForce {
director = newDirector;
}
/**
* Withdraw funds from the contract
*/
function withdrawFunds() public onlyDirectorForce {
director.transfer(this.balance);
}
/**
* Permanently lock out the director to decentralize Opacity
* Invocation is discretionary because Opacity might be better suited to
* transition to an artificially intelligent smart contract director
*/
function selfLock() public payable onlyDirector {
// Prevents accidental lockout
require(msg.value == 10 ether);
// Permanently lock out the director
directorLock = true;
}
/**
* Director can alter the storage-peg and broker fees
*/
function amendClaim(uint8 claimAmountSet, uint8 payAmountSet, uint8 feeAmountSet, uint8 accuracy) public onlyDirector returns (bool success) {
require(claimAmountSet == (payAmountSet + feeAmountSet));
require(payAmountSet < claimAmountSet);
require(feeAmountSet < claimAmountSet);
require(claimAmountSet > 0);
require(payAmountSet > 0);
require(feeAmountSet > 0);
claimAmount = claimAmountSet * 10 ** (uint256(decimals) - accuracy);
payAmount = payAmountSet * 10 ** (uint256(decimals) - accuracy);
feeAmount = feeAmountSet * 10 ** (uint256(decimals) - accuracy);
return true;
}
/**
* Director can alter the epoch time
*/
function amendEpoch(uint256 epochSet) public onlyDirector returns (bool success) {
// Set the epoch
epoch = epochSet;
return true;
}
/**
* Director can alter the maximum time of storage retention
*/
function amendRetention(uint8 retentionSet, uint8 accuracy) public onlyDirector returns (bool success) {
// Set retentionMax
retentionMax = retentionSet * 10 ** (uint256(decimals) - accuracy);
return true;
}
/**
* Bury an address
*
* When an address is buried; only claimAmount can be withdrawn once per epoch
*/
function bury() public returns (bool success) {
// The address must be previously unburied
require(!buried[msg.sender]);
// An address must have at least claimAmount to be buried
require(balances[msg.sender] >= claimAmount);
// Prevent addresses with large balances from getting buried
require(balances[msg.sender] <= retentionMax);
// Set buried state to true
buried[msg.sender] = true;
// Set the initial claim clock to 1
claimed[msg.sender] = 1;
// Execute an event reflecting the change
emit Bury(msg.sender, balances[msg.sender]);
return true;
}
/**
* Claim OPQ from a buried address
*
* If a prior claim wasn't made during the current epoch, then claimAmount can be withdrawn
*
* @param _payout the address of the website owner
* @param _fee the address of the broker node
*/
function claim(address _payout, address _fee) public returns (bool success) {
// The claimed address must have already been buried
require(buried[msg.sender]);
// The payout and fee addresses must be different
require(_payout != _fee);
// The claimed address cannot pay itself
require(msg.sender != _payout);
// The claimed address cannot pay itself
require(msg.sender != _fee);
// It must be either the first time this address is being claimed or atleast epoch in time has passed
require(claimed[msg.sender] == 1 || (block.timestamp - claimed[msg.sender]) >= epoch);
// Check if the buried address has enough
require(balances[msg.sender] >= claimAmount);
// Reset the claim clock to the current block time
claimed[msg.sender] = block.timestamp;
// Save this for an assertion in the future
uint256 previousBalances = balances[msg.sender] + balances[_payout] + balances[_fee];
// Remove claimAmount from the buried address
balances[msg.sender] -= claimAmount;
// Pay the website owner that invoked the web node that found the OPQ seed key
balances[_payout] += payAmount;
// Pay the broker node that unlocked the OPQ
balances[_fee] += feeAmount;
// Execute events to reflect the changes
emit Claim(msg.sender, _payout, _fee);
emit Transfer(msg.sender, _payout, payAmount);
emit Transfer(msg.sender, _fee, feeAmount);
// Failsafe logic that should never be false
assert(balances[msg.sender] + balances[_payout] + balances[_fee] == previousBalances);
return true;
}
/**
* Internal transfer, can be called by this contract only
*/
function _transfer(address _from, address _to, uint _value) internal {
// Sending addresses cannot be buried
require(!buried[_from]);
// If the receiving address is buried, it cannot exceed retentionMax
if (buried[_to]) {
require(balances[_to] + _value <= retentionMax);
}
// Prevent transfer to 0x0 address, use burn() instead
require(_to != 0x0);
// Check if the sender has enough
require(balances[_from] >= _value);
// Check for overflows
require(balances[_to] + _value > balances[_to]);
// Save this for an assertion in the future
uint256 previousBalances = balances[_from] + balances[_to];
// Subtract from the sender
balances[_from] -= _value;
// Add the same to the recipient
balances[_to] += _value;
emit Transfer(_from, _to, _value);
// Failsafe logic that should never be false
assert(balances[_from] + balances[_to] == previousBalances);
}
/**
* Transfer tokens
*
* Send `_value` tokens to `_to` from your account
*
* @param _to the address of the recipient
* @param _value the amount to send
*/
function transfer(address _to, uint256 _value) public {
_transfer(msg.sender, _to, _value);
}
/**
* Transfer tokens from other address
*
* Send `_value` tokens to `_to` in behalf of `_from`
*
* @param _from the address of the sender
* @param _to the address of the recipient
* @param _value the amount to send
*/
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
// Check allowance
require(_value <= allowance[_from][msg.sender]);
allowance[_from][msg.sender] -= _value;
_transfer(_from, _to, _value);
return true;
}
/**
* Set allowance for other address
*
* Allows `_spender` to spend no more than `_value` tokens on your behalf
*
* @param _spender the address authorized to spend
* @param _value the max amount they can spend
*/
function approve(address _spender, uint256 _value) public returns (bool success) {
// Buried addresses cannot be approved
require(!buried[msg.sender]);
allowance[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
/**
* Set allowance for other address and notify
*
* Allows `_spender` to spend no more than `_value` tokens on your behalf, and then ping the contract about it
*
* @param _spender the address authorized to spend
* @param _value the max amount they can spend
* @param _extraData some extra information to send to the approved contract
*/
function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) {
tokenRecipient spender = tokenRecipient(_spender);
if (approve(_spender, _value)) {
spender.receiveApproval(msg.sender, _value, this, _extraData);
return true;
}
}
/**
* Destroy tokens
*
* Remove `_value` tokens from the system irreversibly
*
* @param _value the amount of money to burn
*/
function burn(uint256 _value) public returns (bool success) {
// Buried addresses cannot be burnt
require(!buried[msg.sender]);
// Check if the sender has enough
require(balances[msg.sender] >= _value);
// Subtract from the sender
balances[msg.sender] -= _value;
// Updates totalSupply
totalSupply -= _value;
emit Burn(msg.sender, _value);
return true;
}
/**
* Destroy tokens from other account
*
* Remove `_value` tokens from the system irreversibly on behalf of `_from`.
*
* @param _from the address of the sender
* @param _value the amount of money to burn
*/
function burnFrom(address _from, uint256 _value) public returns (bool success) {
// Buried addresses cannot be burnt
require(!buried[_from]);
// Check if the targeted balance is enough
require(balances[_from] >= _value);
// Check allowance
require(_value <= allowance[_from][msg.sender]);
// Subtract from the targeted balance
balances[_from] -= _value;
// Subtract from the sender's allowance
allowance[_from][msg.sender] -= _value;
// Update totalSupply
totalSupply -= _value;
emit Burn(_from, _value);
return true;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_payout","type":"address"},{"name":"_fee","type":"address"}],"name":"claim","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"retentionMax","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"buried","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"epochSet","type":"uint256"}],"name":"amendEpoch","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"director","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"retentionSet","type":"uint8"},{"name":"accuracy","type":"uint8"}],"name":"amendRetention","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"bury","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feeAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"claimAmountSet","type":"uint8"},{"name":"payAmountSet","type":"uint8"},{"name":"feeAmountSet","type":"uint8"},{"name":"accuracy","type":"uint8"}],"name":"amendClaim","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"claimAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"epoch","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"payAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"claimed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"funds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"selfLock","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newDirector","type":"address"}],"name":"transferDirector","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"directorLock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_target","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Bury","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_target","type":"address"},{"indexed":true,"name":"_payout","type":"address"},{"indexed":true,"name":"_fee","type":"address"}],"name":"Claim","type":"event"}]Contract Creation Code
60058054600160a060020a0319163317905560c0604052600760808190527f4f7061636974790000000000000000000000000000000000000000000000000060a090815262000052916000919062000122565b506040805180820190915260038082527f4f505100000000000000000000000000000000000000000000000000000000006020909201918252620000999160019162000122565b5060028054601260ff19909116178082556005805460a060020a60ff0219811682556000600481815560ff948516600a90810a6307bfa480026003819055600160a060020a039094168352600b60205260409092209290925593549092166000198101840a9182026006559181026007556008556301e13380600955810a6028029055620001c7565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200016557805160ff191683800117855562000195565b8280016001018555821562000195579182015b828111156200019557825182559160200191906001019062000178565b50620001a3929150620001a7565b5090565b620001c491905b80821115620001a35760008155600101620001ae565b90565b61120b80620001d76000396000f30060806040526004361061018a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461018f578063095ea7b31461021957806318160ddd1461025157806321c0b3421461027857806322bb4f531461029f57806323b872dd146102b457806324600fc3146102de57806327e235e3146102f5578063313ce567146103165780633f1199e61461034157806342966c6814610362578063549215a31461037a5780635af82abf146103925780635f5f2aef146103c357806361161aae146103e457806369e15404146103f957806370a082311461040e57806379cc67901461042f5780637dbc9fba14610453578063830953ab14610480578063900cf0cf1461049557806395d89b41146104aa578063a9059cbb146104bf578063c8705544146104e3578063c884ef83146104f8578063c89f2ce414610519578063cae9ca511461052e578063d1e7e81f14610597578063dd62ed3e1461059f578063ddd41ef6146105c6578063ffe2d77e146105e7575b600080fd5b34801561019b57600080fd5b506101a46105fc565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101de5781810151838201526020016101c6565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022557600080fd5b5061023d600160a060020a036004351660243561068a565b604080519115158252519081900360200190f35b34801561025d57600080fd5b5061026661070e565b60408051918252519081900360200190f35b34801561028457600080fd5b5061023d600160a060020a0360043581169060243516610714565b3480156102ab57600080fd5b50610266610926565b3480156102c057600080fd5b5061023d600160a060020a036004358116906024351660443561092c565b3480156102ea57600080fd5b506102f3610991565b005b34801561030157600080fd5b50610266600160a060020a03600435166109e5565b34801561032257600080fd5b5061032b6109f7565b6040805160ff9092168252519081900360200190f35b34801561034d57600080fd5b5061023d600160a060020a0360043516610a00565b34801561036e57600080fd5b5061023d600435610a15565b34801561038657600080fd5b5061023d600435610aaa565b34801561039e57600080fd5b506103a7610ae4565b60408051600160a060020a039092168252519081900360200190f35b3480156103cf57600080fd5b5061023d60ff60043581169060243516610af3565b3480156103f057600080fd5b5061023d610b45565b34801561040557600080fd5b50610266610c06565b34801561041a57600080fd5b50610266600160a060020a0360043516610c0c565b34801561043b57600080fd5b5061023d600160a060020a0360043516602435610c27565b34801561045f57600080fd5b5061023d60ff60043581169060243581169060443581169060643516610d1e565b34801561048c57600080fd5b50610266610de3565b3480156104a157600080fd5b50610266610de9565b3480156104b657600080fd5b506101a4610def565b3480156104cb57600080fd5b506102f3600160a060020a0360043516602435610e49565b3480156104ef57600080fd5b50610266610e58565b34801561050457600080fd5b50610266600160a060020a0360043516610e5e565b34801561052557600080fd5b50610266610e70565b34801561053a57600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261023d948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610e769650505050505050565b6102f3610f8f565b3480156105ab57600080fd5b50610266600160a060020a0360043581169060243516610ff7565b3480156105d257600080fd5b506102f3600160a060020a0360043516611014565b3480156105f357600080fd5b5061023d61105a565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106825780601f1061065757610100808354040283529160200191610682565b820191906000526020600020905b81548152906001019060200180831161066557829003601f168201915b505050505081565b336000908152600d602052604081205460ff16156106a757600080fd5b336000818152600c60209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60035481565b336000908152600d6020526040812054819060ff16151561073457600080fd5b600160a060020a03848116908416141561074d57600080fd5b33600160a060020a038516141561076357600080fd5b33600160a060020a038416141561077957600080fd5b336000908152600e6020526040902054600114806107aa5750600954336000908152600e6020526040902054420310155b15156107b557600080fd5b600654336000908152600b602052604090205410156107d357600080fd5b50336000818152600e60209081526040808320429055600160a060020a03868116808552600b90935281842080549189168086528386208054888852858820805460065481039091556007548354019092556008548789528454019093559351939091019091019492939092917fcac3ed26c9dd72a2c44999857298af9c72ba2d1ca9784f5dad48c933e2224c119190a46007546040805191825251600160a060020a0386169133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a36008546040805191825251600160a060020a0385169133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3600160a060020a038084166000908152600b6020526040808220549287168252808220543383529120540101811461091c57fe5b5060019392505050565b600a5481565b600160a060020a0383166000908152600c6020908152604080832033845290915281205482111561095c57600080fd5b600160a060020a0384166000908152600c6020908152604080832033845290915290208054839003905561091c84848461106a565b600554600160a060020a031633146109a857600080fd5b600554604051600160a060020a0390911690303180156108fc02916000818181858888f193505050501580156109e2573d6000803e3d6000fd5b50565b600b6020526000908152604090205481565b60025460ff1681565b600d6020526000908152604090205460ff1681565b336000908152600d602052604081205460ff1615610a3257600080fd5b336000908152600b6020526040902054821115610a4e57600080fd5b336000818152600b602090815260409182902080548690039055600380548690039055815185815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a2506001919050565b60055460009060a060020a900460ff1615610ac457600080fd5b600554600160a060020a03163314610adb57600080fd5b50600955600190565b600554600160a060020a031681565b60055460009060a060020a900460ff1615610b0d57600080fd5b600554600160a060020a03163314610b2457600080fd5b5060025460ff91821690821603600a90810a92909116919091029055600190565b336000908152600d602052604081205460ff1615610b6257600080fd5b600654336000908152600b60205260409020541015610b8057600080fd5b600a54336000908152600b60205260409020541115610b9e57600080fd5b336000818152600d60209081526040808320805460ff19166001908117909155600e835281842055600b82529182902054825190815291517fc96e8fee6eb65975d592ca9a340f33200433df4c42b2f623dd9fc6d22984d4959281900390910190a250600190565b60085481565b600160a060020a03166000908152600b602052604090205490565b600160a060020a0382166000908152600d602052604081205460ff1615610c4d57600080fd5b600160a060020a0383166000908152600b6020526040902054821115610c7257600080fd5b600160a060020a0383166000908152600c60209081526040808320338452909152902054821115610ca257600080fd5b600160a060020a0383166000818152600b6020908152604080832080548790039055600c825280832033845282529182902080548690039055600380548690039055815185815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a250600192915050565b60055460009060a060020a900460ff1615610d3857600080fd5b600554600160a060020a03163314610d4f57600080fd5b82840160ff168560ff16141515610d6557600080fd5b60ff80861690851610610d7757600080fd5b60ff80861690841610610d8957600080fd5b600060ff861611610d9957600080fd5b600060ff851611610da957600080fd5b600060ff841611610db957600080fd5b5060025460ff91821690821603600a0a938116840260065591821683026007551602600855600190565b60065481565b60095481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106825780601f1061065757610100808354040283529160200191610682565b610e5433838361106a565b5050565b60075481565b600e6020526000908152604090205481565b60045481565b600083610e83818561068a565b15610f87576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018790523060448401819052608060648501908152875160848601528751600160a060020a03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b83811015610f1b578181015183820152602001610f03565b50505050905090810190601f168015610f485780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610f6a57600080fd5b505af1158015610f7e573d6000803e3d6000fd5b50505050600191505b509392505050565b60055460a060020a900460ff1615610fa657600080fd5b600554600160a060020a03163314610fbd57600080fd5b678ac7230489e800003414610fd157600080fd5b6005805474ff0000000000000000000000000000000000000000191660a060020a179055565b600c60209081526000928352604080842090915290825290205481565b600554600160a060020a0316331461102b57600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60055460a060020a900460ff1681565b600160a060020a0383166000908152600d602052604081205460ff161561109057600080fd5b600160a060020a0383166000908152600d602052604090205460ff16156110da57600a54600160a060020a0384166000908152600b6020526040902054830111156110da57600080fd5b600160a060020a03831615156110ef57600080fd5b600160a060020a0384166000908152600b602052604090205482111561111457600080fd5b600160a060020a0383166000908152600b60205260409020548281011161113a57600080fd5b50600160a060020a038083166000818152600b60209081526040808320805495891680855282852080548981039091559486905281548801909155815187815291519390950194927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600160a060020a038084166000908152600b60205260408082205492871682529020540181146111d957fe5b505050505600a165627a7a72305820cfecf20d7c390211a42a13ea9c1d89c021333fd6a06220d527c063af7b5b90f40029
Deployed Bytecode
0x60806040526004361061018a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461018f578063095ea7b31461021957806318160ddd1461025157806321c0b3421461027857806322bb4f531461029f57806323b872dd146102b457806324600fc3146102de57806327e235e3146102f5578063313ce567146103165780633f1199e61461034157806342966c6814610362578063549215a31461037a5780635af82abf146103925780635f5f2aef146103c357806361161aae146103e457806369e15404146103f957806370a082311461040e57806379cc67901461042f5780637dbc9fba14610453578063830953ab14610480578063900cf0cf1461049557806395d89b41146104aa578063a9059cbb146104bf578063c8705544146104e3578063c884ef83146104f8578063c89f2ce414610519578063cae9ca511461052e578063d1e7e81f14610597578063dd62ed3e1461059f578063ddd41ef6146105c6578063ffe2d77e146105e7575b600080fd5b34801561019b57600080fd5b506101a46105fc565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101de5781810151838201526020016101c6565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022557600080fd5b5061023d600160a060020a036004351660243561068a565b604080519115158252519081900360200190f35b34801561025d57600080fd5b5061026661070e565b60408051918252519081900360200190f35b34801561028457600080fd5b5061023d600160a060020a0360043581169060243516610714565b3480156102ab57600080fd5b50610266610926565b3480156102c057600080fd5b5061023d600160a060020a036004358116906024351660443561092c565b3480156102ea57600080fd5b506102f3610991565b005b34801561030157600080fd5b50610266600160a060020a03600435166109e5565b34801561032257600080fd5b5061032b6109f7565b6040805160ff9092168252519081900360200190f35b34801561034d57600080fd5b5061023d600160a060020a0360043516610a00565b34801561036e57600080fd5b5061023d600435610a15565b34801561038657600080fd5b5061023d600435610aaa565b34801561039e57600080fd5b506103a7610ae4565b60408051600160a060020a039092168252519081900360200190f35b3480156103cf57600080fd5b5061023d60ff60043581169060243516610af3565b3480156103f057600080fd5b5061023d610b45565b34801561040557600080fd5b50610266610c06565b34801561041a57600080fd5b50610266600160a060020a0360043516610c0c565b34801561043b57600080fd5b5061023d600160a060020a0360043516602435610c27565b34801561045f57600080fd5b5061023d60ff60043581169060243581169060443581169060643516610d1e565b34801561048c57600080fd5b50610266610de3565b3480156104a157600080fd5b50610266610de9565b3480156104b657600080fd5b506101a4610def565b3480156104cb57600080fd5b506102f3600160a060020a0360043516602435610e49565b3480156104ef57600080fd5b50610266610e58565b34801561050457600080fd5b50610266600160a060020a0360043516610e5e565b34801561052557600080fd5b50610266610e70565b34801561053a57600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261023d948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610e769650505050505050565b6102f3610f8f565b3480156105ab57600080fd5b50610266600160a060020a0360043581169060243516610ff7565b3480156105d257600080fd5b506102f3600160a060020a0360043516611014565b3480156105f357600080fd5b5061023d61105a565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106825780601f1061065757610100808354040283529160200191610682565b820191906000526020600020905b81548152906001019060200180831161066557829003601f168201915b505050505081565b336000908152600d602052604081205460ff16156106a757600080fd5b336000818152600c60209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60035481565b336000908152600d6020526040812054819060ff16151561073457600080fd5b600160a060020a03848116908416141561074d57600080fd5b33600160a060020a038516141561076357600080fd5b33600160a060020a038416141561077957600080fd5b336000908152600e6020526040902054600114806107aa5750600954336000908152600e6020526040902054420310155b15156107b557600080fd5b600654336000908152600b602052604090205410156107d357600080fd5b50336000818152600e60209081526040808320429055600160a060020a03868116808552600b90935281842080549189168086528386208054888852858820805460065481039091556007548354019092556008548789528454019093559351939091019091019492939092917fcac3ed26c9dd72a2c44999857298af9c72ba2d1ca9784f5dad48c933e2224c119190a46007546040805191825251600160a060020a0386169133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a36008546040805191825251600160a060020a0385169133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3600160a060020a038084166000908152600b6020526040808220549287168252808220543383529120540101811461091c57fe5b5060019392505050565b600a5481565b600160a060020a0383166000908152600c6020908152604080832033845290915281205482111561095c57600080fd5b600160a060020a0384166000908152600c6020908152604080832033845290915290208054839003905561091c84848461106a565b600554600160a060020a031633146109a857600080fd5b600554604051600160a060020a0390911690303180156108fc02916000818181858888f193505050501580156109e2573d6000803e3d6000fd5b50565b600b6020526000908152604090205481565b60025460ff1681565b600d6020526000908152604090205460ff1681565b336000908152600d602052604081205460ff1615610a3257600080fd5b336000908152600b6020526040902054821115610a4e57600080fd5b336000818152600b602090815260409182902080548690039055600380548690039055815185815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a2506001919050565b60055460009060a060020a900460ff1615610ac457600080fd5b600554600160a060020a03163314610adb57600080fd5b50600955600190565b600554600160a060020a031681565b60055460009060a060020a900460ff1615610b0d57600080fd5b600554600160a060020a03163314610b2457600080fd5b5060025460ff91821690821603600a90810a92909116919091029055600190565b336000908152600d602052604081205460ff1615610b6257600080fd5b600654336000908152600b60205260409020541015610b8057600080fd5b600a54336000908152600b60205260409020541115610b9e57600080fd5b336000818152600d60209081526040808320805460ff19166001908117909155600e835281842055600b82529182902054825190815291517fc96e8fee6eb65975d592ca9a340f33200433df4c42b2f623dd9fc6d22984d4959281900390910190a250600190565b60085481565b600160a060020a03166000908152600b602052604090205490565b600160a060020a0382166000908152600d602052604081205460ff1615610c4d57600080fd5b600160a060020a0383166000908152600b6020526040902054821115610c7257600080fd5b600160a060020a0383166000908152600c60209081526040808320338452909152902054821115610ca257600080fd5b600160a060020a0383166000818152600b6020908152604080832080548790039055600c825280832033845282529182902080548690039055600380548690039055815185815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a250600192915050565b60055460009060a060020a900460ff1615610d3857600080fd5b600554600160a060020a03163314610d4f57600080fd5b82840160ff168560ff16141515610d6557600080fd5b60ff80861690851610610d7757600080fd5b60ff80861690841610610d8957600080fd5b600060ff861611610d9957600080fd5b600060ff851611610da957600080fd5b600060ff841611610db957600080fd5b5060025460ff91821690821603600a0a938116840260065591821683026007551602600855600190565b60065481565b60095481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106825780601f1061065757610100808354040283529160200191610682565b610e5433838361106a565b5050565b60075481565b600e6020526000908152604090205481565b60045481565b600083610e83818561068a565b15610f87576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018790523060448401819052608060648501908152875160848601528751600160a060020a03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b83811015610f1b578181015183820152602001610f03565b50505050905090810190601f168015610f485780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610f6a57600080fd5b505af1158015610f7e573d6000803e3d6000fd5b50505050600191505b509392505050565b60055460a060020a900460ff1615610fa657600080fd5b600554600160a060020a03163314610fbd57600080fd5b678ac7230489e800003414610fd157600080fd5b6005805474ff0000000000000000000000000000000000000000191660a060020a179055565b600c60209081526000928352604080842090915290825290205481565b600554600160a060020a0316331461102b57600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60055460a060020a900460ff1681565b600160a060020a0383166000908152600d602052604081205460ff161561109057600080fd5b600160a060020a0383166000908152600d602052604090205460ff16156110da57600a54600160a060020a0384166000908152600b6020526040902054830111156110da57600080fd5b600160a060020a03831615156110ef57600080fd5b600160a060020a0384166000908152600b602052604090205482111561111457600080fd5b600160a060020a0383166000908152600b60205260409020548281011161113a57600080fd5b50600160a060020a038083166000818152600b60209081526040808320805495891680855282852080548981039091559486905281548801909155815187815291519390950194927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600160a060020a038084166000908152600b60205260408082205492871682529020540181146111d957fe5b505050505600a165627a7a72305820cfecf20d7c390211a42a13ea9c1d89c021333fd6a06220d527c063af7b5b90f40029
Swarm Source
bzzr://cfecf20d7c390211a42a13ea9c1d89c021333fd6a06220d527c063af7b5b90f4
Loading...
Loading
Loading...
Loading
OVERVIEW
Opacity token contract has migrated to 0xDb05EA0877A2622883941b939f0bb11d1ac7c400Net Worth in USD
$562.79
Net Worth in ETH
0.27791
Token Allocations
REQ
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $0.065641 | 8,573.745 | $562.79 |
Loading...
Loading
Loading...
Loading
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.