Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 218 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 22727116 | 253 days ago | IN | 0 ETH | 0.00007825 | ||||
| Transfer | 22721921 | 254 days ago | IN | 0 ETH | 0.00011245 | ||||
| Transfer | 22720300 | 254 days ago | IN | 0 ETH | 0.00011742 | ||||
| Transfer | 22718646 | 254 days ago | IN | 0 ETH | 0.00013664 | ||||
| Transfer | 22715113 | 254 days ago | IN | 0 ETH | 0.00011248 | ||||
| Transfer | 22710880 | 255 days ago | IN | 0 ETH | 0.00016868 | ||||
| Transfer | 22710784 | 255 days ago | IN | 0 ETH | 0.00016872 | ||||
| Transfer | 22710644 | 255 days ago | IN | 0 ETH | 0.00007825 | ||||
| Transfer | 22710621 | 255 days ago | IN | 0 ETH | 0.00011245 | ||||
| Transfer | 20453378 | 570 days ago | IN | 0 ETH | 0.00003152 | ||||
| Transfer | 20453131 | 571 days ago | IN | 0 ETH | 0.00005624 | ||||
| Transfer | 12424203 | 1750 days ago | IN | 0 ETH | 0.00711436 | ||||
| Transfer | 12245917 | 1777 days ago | IN | 0 ETH | 0.00313424 | ||||
| Transfer | 12080996 | 1802 days ago | IN | 0 ETH | 0.00605796 | ||||
| Transfer | 11668535 | 1866 days ago | IN | 0 ETH | 0.0023371 | ||||
| Transfer | 11645910 | 1869 days ago | IN | 0 ETH | 0.00267347 | ||||
| Approve | 11551120 | 1884 days ago | IN | 0 ETH | 0.00268601 | ||||
| Transfer | 11551076 | 1884 days ago | IN | 0 ETH | 0.00318768 | ||||
| Transfer | 11550998 | 1884 days ago | IN | 0 ETH | 0.00366666 | ||||
| Approve | 11546299 | 1885 days ago | IN | 0 ETH | 0.00409506 | ||||
| Transfer | 10532226 | 2041 days ago | IN | 0 ETH | 0.0011872 | ||||
| Transfer | 10531518 | 2041 days ago | IN | 0 ETH | 0.0011872 | ||||
| Transfer | 10525592 | 2042 days ago | IN | 0 ETH | 0.00124656 | ||||
| Transfer | 10525153 | 2042 days ago | IN | 0 ETH | 0.00121688 | ||||
| Transfer | 9614523 | 2183 days ago | IN | 0 ETH | 0.00007969 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
RLC
Compiler Version
v0.4.12+commit.194ff033
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2019-03-20
*/
pragma solidity ^0.4.8;
contract ERC20 {
uint public totalSupply;
function balanceOf(address who) constant returns (uint);
function allowance(address owner, address spender) constant returns (uint);
function transfer(address to, uint value) returns (bool ok);
function transferFrom(address from, address to, uint value) returns (bool ok);
function approve(address spender, uint value) returns (bool ok);
event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
}
contract Ownable {
address public owner;
function Ownable() {
owner = msg.sender;
}
modifier onlyOwner() {
if (msg.sender == owner)
_;
}
function transferOwnership(address newOwner) onlyOwner {
if (newOwner != address(0)) owner = newOwner;
}
}
contract TokenSpender {
function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData);
}
contract SafeMath {
function safeMul(uint a, uint b) internal returns (uint) {
uint c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function safeDiv(uint a, uint b) internal returns (uint) {
assert(b > 0);
uint c = a / b;
assert(a == b * c + a % b);
return c;
}
function safeSub(uint a, uint b) internal returns (uint) {
assert(b <= a);
return a - b;
}
function safeAdd(uint a, uint b) internal returns (uint) {
uint c = a + b;
assert(c>=a && c>=b);
return c;
}
function max64(uint64 a, uint64 b) internal constant returns (uint64) {
return a >= b ? a : b;
}
function min64(uint64 a, uint64 b) internal constant returns (uint64) {
return a < b ? a : b;
}
function max256(uint256 a, uint256 b) internal constant returns (uint256) {
return a >= b ? a : b;
}
function min256(uint256 a, uint256 b) internal constant returns (uint256) {
return a < b ? a : b;
}
function assert(bool assertion) internal {
if (!assertion) {
throw;
}
}
}
contract PullPayment {
mapping(address => uint) public payments;
event RefundETH(address to, uint value);
// store sent amount as credit to be pulled, called by payer
function asyncSend(address dest, uint amount) internal {
payments[dest] += amount;
}
// withdraw accumulated balance, called by payee
function withdrawPayments() {
address payee = msg.sender;
uint payment = payments[payee];
if (payment == 0) {
throw;
}
if (this.balance < payment) {
throw;
}
payments[payee] = 0;
if (!payee.send(payment)) {
throw;
}
RefundETH(payee,payment);
}
}
contract Pausable is Ownable {
bool public stopped;
modifier stopInEmergency {
if (stopped) {
throw;
}
_;
}
modifier onlyInEmergency {
if (!stopped) {
throw;
}
_;
}
// called by the owner on emergency, triggers stopped state
function emergencyStop() external onlyOwner {
stopped = true;
}
// called by the owner on end of emergency, returns to normal state
function release() external onlyOwner onlyInEmergency {
stopped = false;
}
}
contract RLC is ERC20, SafeMath, Ownable {
/* Public variables of the token */
string public name; //fancy name
string public symbol;
uint8 public decimals; //How many decimals to show.
string public version = 'v0.1';
uint public initialSupply;
uint public totalSupply;
bool public locked;
//uint public unlockBlock;
mapping(address => uint) balances;
mapping (address => mapping (address => uint)) allowed;
// lock transfer during the ICO
modifier onlyUnlocked() {
if (msg.sender != owner && locked) throw;
_;
}
/*
* The RLC Token created with the time at which the crowdsale end
*/
function RLC() {
// lock the transfer function during the crowdsale
locked = true;
//unlockBlock= now + 45 days; // (testnet) - for mainnet put the block number
initialSupply = 87000000000000000;
totalSupply = initialSupply;
balances[msg.sender] = initialSupply;// Give the creator all initial tokens
name = 'iEx.ec Network Token'; // Set the name for display purposes
symbol = 'RLC'; // Set the symbol for display purposes
decimals = 9; // Amount of decimals for display purposes
}
function unlock() onlyOwner {
locked = false;
}
function burn(uint256 _value) returns (bool){
balances[msg.sender] = safeSub(balances[msg.sender], _value) ;
totalSupply = safeSub(totalSupply, _value);
Transfer(msg.sender, 0x0, _value);
return true;
}
function transfer(address _to, uint _value) onlyUnlocked returns (bool) {
balances[msg.sender] = safeSub(balances[msg.sender], _value);
balances[_to] = safeAdd(balances[_to], _value);
Transfer(msg.sender, _to, _value);
return true;
}
function transferFrom(address _from, address _to, uint _value) onlyUnlocked returns (bool) {
var _allowance = allowed[_from][msg.sender];
balances[_to] = safeAdd(balances[_to], _value);
balances[_from] = safeSub(balances[_from], _value);
allowed[_from][msg.sender] = safeSub(_allowance, _value);
Transfer(_from, _to, _value);
return true;
}
function balanceOf(address _owner) constant returns (uint balance) {
return balances[_owner];
}
function approve(address _spender, uint _value) returns (bool) {
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
/* Approve and then comunicate the approved contract in a single tx */
function approveAndCall(address _spender, uint256 _value, bytes _extraData){
TokenSpender spender = TokenSpender(_spender);
if (approve(_spender, _value)) {
spender.receiveApproval(msg.sender, _value, this, _extraData);
}
}
function allowance(address _owner, address _spender) constant returns (uint remaining) {
return allowed[_owner][_spender];
}
}
contract Crowdsale is SafeMath, PullPayment, Pausable {
struct Backer {
uint weiReceived; // Amount of ETH given
string btc_address; //store the btc address for full traceability
uint satoshiReceived; // Amount of BTC given
uint rlcSent;
}
RLC public rlc; // RLC contract reference
address public owner; // Contract owner (iEx.ec team)
address public multisigETH; // Multisig contract that will receive the ETH
address public BTCproxy; // address of the BTC Proxy
uint public RLCPerETH; // Number of RLC per ETH
uint public RLCPerSATOSHI; // Number of RLC per SATOSHI
uint public ETHReceived; // Number of ETH received
uint public BTCReceived; // Number of BTC received
uint public RLCSentToETH; // Number of RLC sent to ETH contributors
uint public RLCSentToBTC; // Number of RLC sent to BTC contributors
uint public startBlock; // Crowdsale start block
uint public endBlock; // Crowdsale end block
uint public minCap; // Minimum number of RLC to sell
uint public maxCap; // Maximum number of RLC to sell
bool public maxCapReached; // Max cap has been reached
uint public minInvestETH; // Minimum amount to invest
uint public minInvestBTC; // Minimum amount to invest
bool public crowdsaleClosed;// Is crowdsale still on going
address public bounty; // address at which the bounty RLC will be sent
address public reserve; // address at which the contingency reserve will be sent
address public team; // address at which the team RLC will be sent
uint public rlc_bounty; // amount of bounties RLC
uint public rlc_reserve; // amount of the contingency reserve
uint public rlc_team; // amount of the team RLC
mapping(address => Backer) public backers; //backersETH indexed by their ETH address
modifier onlyBy(address a){
if (msg.sender != a) throw;
_;
}
modifier minCapNotReached() {
if ((now<endBlock) || RLCSentToETH + RLCSentToBTC >= minCap ) throw;
_;
}
modifier respectTimeFrame() {
if ((now < startBlock) || (now > endBlock )) throw;
_;
}
/*
* Event
*/
event ReceivedETH(address addr, uint value);
event ReceivedBTC(address addr, string from, uint value, string txid);
event RefundBTC(string to, uint value);
event Logs(address indexed from, uint amount, string value);
/*
* Constructor
*/
//function Crowdsale() {
function Crowdsale() {
owner = msg.sender;
BTCproxy = 0x75c6cceb1a33f177369053f8a0e840de96b4ed0e;
rlc = RLC(0x6031203f6D83A674a43528A1eBd4b4129F5526CC);
multisigETH = 0xAe307e3871E5A321c0559FBf0233A38c937B826A;
team = 0xd65380D773208a6Aa49472Bf55186b855B393298;
reserve = 0x24F6b37770C6067D05ACc2aD2C42d1Bafde95d48;
bounty = 0x8226a24dA0870Fb8A128E4Fc15228a9c4a5baC29;
RLCSentToETH = 0;
RLCSentToBTC = 0;
minInvestETH = 1 ether;
minInvestBTC = 5000000; // approx 50 USD or 0.05000000 BTC
startBlock = 0 ; // should wait for the call of the function start
endBlock = 0; // should wait for the call of the function start
RLCPerETH = 200000000000; // will be update every 10min based on the kraken ETHBTC
RLCPerSATOSHI = 50000; // 5000 RLC par BTC == 50,000 RLC per satoshi
minCap=12000000000000000;
maxCap=60000000000000000;
rlc_bounty=1700000000000000; // max 6000000 RLC
rlc_reserve=1700000000000000; // max 6000000 RLC
rlc_team=12000000000000000;
}
/*
* The fallback function corresponds to a donation in ETH
*/
function() payable {
if (now > endBlock) throw;
receiveETH(msg.sender);
}
/*
* To call to start the crowdsale
*/
function start() onlyBy(owner) {
startBlock = now ;
endBlock = now + 30 days;
}
/*
* Receives a donation in ETH
*/
function receiveETH(address beneficiary) internal stopInEmergency respectTimeFrame {
if (msg.value < minInvestETH) throw; //don't accept funding under a predefined threshold
uint rlcToSend = bonus(safeMul(msg.value,RLCPerETH)/(1 ether)); //compute the number of RLC to send
if (safeAdd(rlcToSend, safeAdd(RLCSentToETH, RLCSentToBTC)) > maxCap) throw;
Backer backer = backers[beneficiary];
if (!rlc.transfer(beneficiary, rlcToSend)) throw; // Do the RLC transfer right now
backer.rlcSent = safeAdd(backer.rlcSent, rlcToSend);
backer.weiReceived = safeAdd(backer.weiReceived, msg.value); // Update the total wei collected during the crowdfunding for this backer
ETHReceived = safeAdd(ETHReceived, msg.value); // Update the total wei collected during the crowdfunding
RLCSentToETH = safeAdd(RLCSentToETH, rlcToSend);
emitRLC(rlcToSend); // compute the variable part
ReceivedETH(beneficiary,ETHReceived); // send the corresponding contribution event
}
/*
* receives a donation in BTC
*/
function receiveBTC(address beneficiary, string btc_address, uint value, string txid) stopInEmergency respectTimeFrame onlyBy(BTCproxy) returns (bool res){
if (value < minInvestBTC) throw; // this verif is also made on the btcproxy
uint rlcToSend = bonus(safeMul(value,RLCPerSATOSHI)); //compute the number of RLC to send
if (safeAdd(rlcToSend, safeAdd(RLCSentToETH, RLCSentToBTC)) > maxCap) { // check if we are not reaching the maxCap by accepting this donation
RefundBTC(btc_address , value);
return false;
}
Backer backer = backers[beneficiary];
if (!rlc.transfer(beneficiary, rlcToSend)) throw; // Do the transfer right now
backer.rlcSent = safeAdd(backer.rlcSent , rlcToSend);
backer.btc_address = btc_address;
backer.satoshiReceived = safeAdd(backer.satoshiReceived, value);
BTCReceived = safeAdd(BTCReceived, value); // Update the total satoshi collected during the crowdfunding for this backer
RLCSentToBTC = safeAdd(RLCSentToBTC, rlcToSend); // Update the total satoshi collected during the crowdfunding
emitRLC(rlcToSend);
ReceivedBTC(beneficiary, btc_address, BTCReceived, txid);
return true;
}
/*
*Compute the variable part
*/
function emitRLC(uint amount) internal {
rlc_bounty = safeAdd(rlc_bounty, amount/10);
rlc_team = safeAdd(rlc_team, amount/20);
rlc_reserve = safeAdd(rlc_reserve, amount/10);
Logs(msg.sender ,amount, "emitRLC");
}
/*
*Compute the RLC bonus according to the investment period
*/
function bonus(uint amount) internal constant returns (uint) {
if (now < safeAdd(startBlock, 10 days)) return (safeAdd(amount, amount/5)); // bonus 20%
if (now < safeAdd(startBlock, 20 days)) return (safeAdd(amount, amount/10)); // bonus 10%
return amount;
}
/*
* When mincap is not reach backer can call the approveAndCall function of the RLC token contract
* with this crowdsale contract on parameter with all the RLC they get in order to be refund
*/
function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) minCapNotReached public {
if (msg.sender != address(rlc)) throw;
if (_extraData.length != 0) throw; // no extradata needed
if (_value != backers[_from].rlcSent) throw; // compare value from backer balance
if (!rlc.transferFrom(_from, address(this), _value)) throw ; // get the token back to the crowdsale contract
if (!rlc.burn(_value)) throw ; // token sent for refund are burnt
uint ETHToSend = backers[_from].weiReceived;
backers[_from].weiReceived=0;
uint BTCToSend = backers[_from].satoshiReceived;
backers[_from].satoshiReceived = 0;
if (ETHToSend > 0) {
asyncSend(_from,ETHToSend); // pull payment to get refund in ETH
}
if (BTCToSend > 0)
RefundBTC(backers[_from].btc_address ,BTCToSend); // event message to manually refund BTC
}
/*
* Update the rate RLC per ETH, computed externally by using the ETHBTC index on kraken every 10min
*/
function setRLCPerETH(uint rate) onlyBy(BTCproxy) {
RLCPerETH=rate;
}
/*
* Finalize the crowdsale, should be called after the refund period
*/
function finalize() onlyBy(owner) {
// check
if (RLCSentToETH + RLCSentToBTC < maxCap - 5000000000000 && now < endBlock) throw; // cannot finalise before 30 day until maxcap is reached minus 1BTC
if (RLCSentToETH + RLCSentToBTC < minCap && now < endBlock + 15 days) throw ; // if mincap is not reached donors have 15days to get refund before we can finalise
if (!multisigETH.send(this.balance)) throw; // moves the remaining ETH to the multisig address
if (rlc_reserve > 6000000000000000){ // moves RLC to the team, reserve and bounty address
if(!rlc.transfer(reserve,6000000000000000)) throw; // max cap 6000000RLC
rlc_reserve = 6000000000000000;
} else {
if(!rlc.transfer(reserve,rlc_reserve)) throw;
}
if (rlc_bounty > 6000000000000000){
if(!rlc.transfer(bounty,6000000000000000)) throw; // max cap 6000000RLC
rlc_bounty = 6000000000000000;
} else {
if(!rlc.transfer(bounty,rlc_bounty)) throw;
}
if (!rlc.transfer(team,rlc_team)) throw;
uint RLCEmitted = rlc_reserve + rlc_bounty + rlc_team + RLCSentToBTC + RLCSentToETH;
if (RLCEmitted < rlc.totalSupply()) // burn the rest of RLC
rlc.burn(rlc.totalSupply() - RLCEmitted);
rlc.unlock();
crowdsaleClosed = true;
}
/*
* Failsafe drain
*/
function drain() onlyBy(owner) {
if (!owner.send(this.balance)) throw;
}
}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,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"initialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unlock","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"locked","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"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"}]Contract Creation Code
606060405260408051908101604052600481527f76302e31000000000000000000000000000000000000000000000000000000006020820152600590805161004b929160200190610153565b50341561005757600080fd5b5b5b60018054600160a060020a03191633600160a060020a03161790555b6008805460ff191660011790556701351609ff75800060068190556007819055600160a060020a03331660009081526009602052604090819020919091558051908101604052601481527f6945782e6563204e6574776f726b20546f6b656e000000000000000000000000602082015260029080516100f8929160200190610153565b506040805190810160405260038082527f524c430000000000000000000000000000000000000000000000000000000000602083015290805161013f929160200190610153565b506004805460ff191660091790555b6101f3565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061019457805160ff19168380011785556101c1565b828001600101855582156101c1579182015b828111156101c15782518255916020019190600101906101a6565b5b506101ce9291506101d2565b5090565b6101f091905b808211156101ce57600081556001016101d8565b5090565b90565b610cc1806102026000396000f300606060405236156100ee5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100f3578063095ea7b31461017e57806318160ddd146101b457806323b872dd146101d9578063313ce56714610215578063378dc3dc1461023e57806342966c681461026357806354fd4d501461028d57806370a08231146103185780638da5cb5b1461034957806395d89b4114610378578063a69df4b514610403578063a9059cbb14610418578063cae9ca511461044e578063cf309012146104b5578063dd62ed3e146104dc578063f2fde38b14610513575b600080fd5b34156100fe57600080fd5b610106610534565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101435780820151818401525b60200161012a565b50505050905090810190601f1680156101705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018957600080fd5b6101a0600160a060020a03600435166024356105d2565b604051901515815260200160405180910390f35b34156101bf57600080fd5b6101c761063f565b60405190815260200160405180910390f35b34156101e457600080fd5b6101a0600160a060020a0360043581169060243516604435610645565b604051901515815260200160405180910390f35b341561022057600080fd5b610228610777565b60405160ff909116815260200160405180910390f35b341561024957600080fd5b6101c7610780565b60405190815260200160405180910390f35b341561026e57600080fd5b6101a0600435610786565b604051901515815260200160405180910390f35b341561029857600080fd5b61010661081a565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101435780820151818401525b60200161012a565b50505050905090810190601f1680156101705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561032357600080fd5b6101c7600160a060020a03600435166108b8565b60405190815260200160405180910390f35b341561035457600080fd5b61035c6108d7565b604051600160a060020a03909116815260200160405180910390f35b341561038357600080fd5b6101066108e6565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101435780820151818401525b60200161012a565b50505050905090810190601f1680156101705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561040e57600080fd5b610416610984565b005b341561042357600080fd5b6101a0600160a060020a03600435166024356109aa565b604051901515815260200160405180910390f35b341561045957600080fd5b61041660048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610a8d95505050505050565b005b34156104c057600080fd5b6101a0610bb9565b604051901515815260200160405180910390f35b34156104e757600080fd5b6101c7600160a060020a0360043581169060243516610bc2565b60405190815260200160405180910390f35b341561051e57600080fd5b610416600160a060020a0360043516610bef565b005b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105ca5780601f1061059f576101008083540402835291602001916105ca565b820191906000526020600020905b8154815290600101906020018083116105ad57829003601f168201915b505050505081565b600160a060020a033381166000818152600a6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60075481565b600154600090819033600160a060020a0390811691161480159061066b575060085460ff165b1561067557600080fd5b50600160a060020a038085166000908152600a602090815260408083203385168452825280832054938716835260099091529020546106b49084610c44565b600160a060020a0380861660009081526009602052604080822093909355908716815220546106e39084610c6c565b600160a060020a0386166000908152600960205260409020556107068184610c6c565b600160a060020a038087166000818152600a6020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b5b509392505050565b60045460ff1681565b60065481565b600160a060020a0333166000908152600960205260408120546107a99083610c6c565b600160a060020a0333166000908152600960205260409020556007546107cf9083610c6c565b6007556000600160a060020a0333167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060015b919050565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105ca5780601f1061059f576101008083540402835291602001916105ca565b820191906000526020600020905b8154815290600101906020018083116105ad57829003601f168201915b505050505081565b600160a060020a0381166000908152600960205260409020545b919050565b600154600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105ca5780601f1061059f576101008083540402835291602001916105ca565b820191906000526020600020905b8154815290600101906020018083116105ad57829003601f168201915b505050505081565b60015433600160a060020a03908116911614156109a6576008805460ff191690555b5b5b565b60015460009033600160a060020a039081169116148015906109ce575060085460ff165b156109d857600080fd5b600160a060020a0333166000908152600960205260409020546109fb9083610c6c565b600160a060020a033381166000908152600960205260408082209390935590851681522054610a2a9083610c44565b600160a060020a0380851660008181526009602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b5b92915050565b82610a9881846105d2565b15610bb25780600160a060020a0316638f4ffcb1338530866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b4f5780820151818401525b602001610b36565b50505050905090810190601f168015610b7c5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515610b9d57600080fd5b6102c65a03f11515610bae57600080fd5b5050505b5b50505050565b60085460ff1681565b600160a060020a038083166000908152600a60209081526040808320938516835292905220545b92915050565b60015433600160a060020a0390811691161415610c3e57600160a060020a03811615610c3e576001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b5b50565b6000828201610c61848210801590610c5c5750838210155b610c85565b8091505b5092915050565b6000610c7a83831115610c85565b508082035b92915050565b801515610c3e57600080fd5b5b505600a165627a7a72305820663fae0502006a8c744274ff13aa9047a951788032dc9aec964d87b5ad3a63380029
Deployed Bytecode
0x606060405236156100ee5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100f3578063095ea7b31461017e57806318160ddd146101b457806323b872dd146101d9578063313ce56714610215578063378dc3dc1461023e57806342966c681461026357806354fd4d501461028d57806370a08231146103185780638da5cb5b1461034957806395d89b4114610378578063a69df4b514610403578063a9059cbb14610418578063cae9ca511461044e578063cf309012146104b5578063dd62ed3e146104dc578063f2fde38b14610513575b600080fd5b34156100fe57600080fd5b610106610534565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101435780820151818401525b60200161012a565b50505050905090810190601f1680156101705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018957600080fd5b6101a0600160a060020a03600435166024356105d2565b604051901515815260200160405180910390f35b34156101bf57600080fd5b6101c761063f565b60405190815260200160405180910390f35b34156101e457600080fd5b6101a0600160a060020a0360043581169060243516604435610645565b604051901515815260200160405180910390f35b341561022057600080fd5b610228610777565b60405160ff909116815260200160405180910390f35b341561024957600080fd5b6101c7610780565b60405190815260200160405180910390f35b341561026e57600080fd5b6101a0600435610786565b604051901515815260200160405180910390f35b341561029857600080fd5b61010661081a565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101435780820151818401525b60200161012a565b50505050905090810190601f1680156101705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561032357600080fd5b6101c7600160a060020a03600435166108b8565b60405190815260200160405180910390f35b341561035457600080fd5b61035c6108d7565b604051600160a060020a03909116815260200160405180910390f35b341561038357600080fd5b6101066108e6565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101435780820151818401525b60200161012a565b50505050905090810190601f1680156101705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561040e57600080fd5b610416610984565b005b341561042357600080fd5b6101a0600160a060020a03600435166024356109aa565b604051901515815260200160405180910390f35b341561045957600080fd5b61041660048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610a8d95505050505050565b005b34156104c057600080fd5b6101a0610bb9565b604051901515815260200160405180910390f35b34156104e757600080fd5b6101c7600160a060020a0360043581169060243516610bc2565b60405190815260200160405180910390f35b341561051e57600080fd5b610416600160a060020a0360043516610bef565b005b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105ca5780601f1061059f576101008083540402835291602001916105ca565b820191906000526020600020905b8154815290600101906020018083116105ad57829003601f168201915b505050505081565b600160a060020a033381166000818152600a6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60075481565b600154600090819033600160a060020a0390811691161480159061066b575060085460ff165b1561067557600080fd5b50600160a060020a038085166000908152600a602090815260408083203385168452825280832054938716835260099091529020546106b49084610c44565b600160a060020a0380861660009081526009602052604080822093909355908716815220546106e39084610c6c565b600160a060020a0386166000908152600960205260409020556107068184610c6c565b600160a060020a038087166000818152600a6020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b5b509392505050565b60045460ff1681565b60065481565b600160a060020a0333166000908152600960205260408120546107a99083610c6c565b600160a060020a0333166000908152600960205260409020556007546107cf9083610c6c565b6007556000600160a060020a0333167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060015b919050565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105ca5780601f1061059f576101008083540402835291602001916105ca565b820191906000526020600020905b8154815290600101906020018083116105ad57829003601f168201915b505050505081565b600160a060020a0381166000908152600960205260409020545b919050565b600154600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105ca5780601f1061059f576101008083540402835291602001916105ca565b820191906000526020600020905b8154815290600101906020018083116105ad57829003601f168201915b505050505081565b60015433600160a060020a03908116911614156109a6576008805460ff191690555b5b5b565b60015460009033600160a060020a039081169116148015906109ce575060085460ff165b156109d857600080fd5b600160a060020a0333166000908152600960205260409020546109fb9083610c6c565b600160a060020a033381166000908152600960205260408082209390935590851681522054610a2a9083610c44565b600160a060020a0380851660008181526009602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b5b92915050565b82610a9881846105d2565b15610bb25780600160a060020a0316638f4ffcb1338530866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b4f5780820151818401525b602001610b36565b50505050905090810190601f168015610b7c5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515610b9d57600080fd5b6102c65a03f11515610bae57600080fd5b5050505b5b50505050565b60085460ff1681565b600160a060020a038083166000908152600a60209081526040808320938516835292905220545b92915050565b60015433600160a060020a0390811691161415610c3e57600160a060020a03811615610c3e576001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b5b50565b6000828201610c61848210801590610c5c5750838210155b610c85565b8091505b5092915050565b6000610c7a83831115610c85565b508082035b92915050565b801515610c3e57600080fd5b5b505600a165627a7a72305820663fae0502006a8c744274ff13aa9047a951788032dc9aec964d87b5ad3a63380029
Swarm Source
bzzr://663fae0502006a8c744274ff13aa9047a951788032dc9aec964d87b5ad3a6338
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.