Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 11 from a total of 11 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Get Rate | 6791833 | 2259 days ago | IN | 0 ETH | 0.00058211 | ||||
Transfer To | 6206352 | 2355 days ago | IN | 0 ETH | 0.00005794 | ||||
Set Fallback | 6206198 | 2355 days ago | IN | 0 ETH | 0.00047993 | ||||
Set Fallback | 6206129 | 2355 days ago | IN | 0 ETH | 0.00015042 | ||||
Set Fallback | 6206091 | 2355 days ago | IN | 0 ETH | 0.00047993 | ||||
Set Expiration T... | 6153582 | 2364 days ago | IN | 0 ETH | 0.00016429 | ||||
Set Url | 6116803 | 2370 days ago | IN | 0 ETH | 0.0012015 | ||||
Set Url | 6104538 | 2372 days ago | IN | 0 ETH | 0.00009725 | ||||
Set Url | 6104530 | 2372 days ago | IN | 0 ETH | 0.00030156 | ||||
Add Currency | 5475721 | 2481 days ago | IN | 0 ETH | 0.0005958 | ||||
Add Delegate | 5475713 | 2481 days ago | IN | 0 ETH | 0.00030824 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
RipioOracle
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-04-20 */ pragma solidity ^0.4.19; contract Ownable { address public owner; modifier onlyOwner() { require(msg.sender == owner); _; } function Ownable() public { owner = msg.sender; } /** @dev Transfers the ownership of the contract. @param _to Address of the new owner */ function transferTo(address _to) public onlyOwner returns (bool) { require(_to != address(0)); owner = _to; return true; } } contract Delegable is Ownable { mapping(address => DelegateLog) public delegates; struct DelegateLog { uint256 started; uint256 ended; } /** @dev Only allows current delegates. */ modifier onlyDelegate() { DelegateLog memory delegateLog = delegates[msg.sender]; require(delegateLog.started != 0 && delegateLog.ended == 0); _; } /** @dev Checks if a delegate existed at the timestamp. @param _address Address of the delegate @param timestamp Moment to check @return true if at the timestamp the delegate existed */ function wasDelegate(address _address, uint256 timestamp) public view returns (bool) { DelegateLog memory delegateLog = delegates[_address]; return timestamp >= delegateLog.started && delegateLog.started != 0 && (delegateLog.ended == 0 || timestamp < delegateLog.ended); } /** @dev Checks if a delegate is active @param _address Address of the delegate @return true if the delegate is active */ function isDelegate(address _address) public view returns (bool) { DelegateLog memory delegateLog = delegates[_address]; return delegateLog.started != 0 && delegateLog.ended == 0; } /** @dev Adds a new worker. @param _address Address of the worker */ function addDelegate(address _address) public onlyOwner returns (bool) { DelegateLog storage delegateLog = delegates[_address]; require(delegateLog.started == 0); delegateLog.started = block.timestamp; return true; } /** @dev Removes an existing worker, removed workers can't be added back. @param _address Address of the worker to remove */ function removeDelegate(address _address) public onlyOwner returns (bool) { DelegateLog storage delegateLog = delegates[_address]; require(delegateLog.started != 0 && delegateLog.ended == 0); delegateLog.ended = block.timestamp; return true; } } /** @dev Defines the interface of a standard RCN oracle. The oracle is an agent in the RCN network that supplies a convertion rate between RCN and any other currency, it's primarily used by the exchange but could be used by any other agent. */ contract Oracle is Ownable { uint256 public constant VERSION = 4; event NewSymbol(bytes32 _currency); mapping(bytes32 => bool) public supported; bytes32[] public currencies; /** @dev Returns the url where the oracle exposes a valid "oracleData" if needed */ function url() public view returns (string); /** @dev Returns a valid convertion rate from the currency given to RCN @param symbol Symbol of the currency @param data Generic data field, could be used for off-chain signing */ function getRate(bytes32 symbol, bytes data) public returns (uint256 rate, uint256 decimals); /** @dev Adds a currency to the oracle, once added it cannot be removed @param ticker Symbol of the currency @return if the creation was done successfully */ function addCurrency(string ticker) public onlyOwner returns (bool) { bytes32 currency = encodeCurrency(ticker); NewSymbol(currency); supported[currency] = true; currencies.push(currency); return true; } /** @return the currency encoded as a bytes32 */ function encodeCurrency(string currency) public pure returns (bytes32 o) { require(bytes(currency).length <= 32); assembly { o := mload(add(currency, 32)) } } /** @return the currency string from a encoded bytes32 */ function decodeCurrency(bytes32 b) public pure returns (string o) { uint256 ns = 256; while (true) { if (ns == 0 || (b<<ns-8) != 0) break; ns -= 8; } assembly { ns := div(ns, 8) o := mload(0x40) mstore(0x40, add(o, and(add(add(ns, 0x20), 0x1f), not(0x1f)))) mstore(o, ns) mstore(add(o, 32), b) } } } contract RipioOracle is Oracle, Delegable { uint256 public expiration = 15 minutes; uint constant private INDEX_TIMESTAMP = 0; uint constant private INDEX_RATE = 1; uint constant private INDEX_DECIMALS = 2; uint constant private INDEX_V = 3; uint constant private INDEX_R = 4; uint constant private INDEX_S = 5; string private infoUrl; mapping(bytes32 => RateCache) private cache; address public fallback; struct RateCache { uint256 timestamp; uint256 rate; uint256 decimals; } function url() public view returns (string) { return infoUrl; } /** @notice Sets the time window of the validity of the signed rates. @param time Duration of the window @return true is the time was set correctly */ function setExpirationTime(uint256 time) public onlyOwner returns (bool) { expiration = time; return true; } /** @notice Sets the URL where the oracleData can be retrieved @param _url The URL @return true if it was set correctly */ function setUrl(string _url) public onlyOwner returns (bool) { infoUrl = _url; return true; } /** @notice Sets the address of another contract to handle the requests of this contract, it can be used to deprecate this Oracle @dev The fallback is only used if is not address(0) @param _fallback The address of the contract @return true if it was set correctly */ function setFallback(address _fallback) public onlyOwner returns (bool) { fallback = _fallback; return true; } /** @notice Reads a bytes32 word of a bytes array @param data The bytes array @param index The index of the word, in chunks of 32 bytes @return o The bytes32 word readed, or 0x0 if index out of bounds */ function readBytes32(bytes data, uint256 index) internal pure returns (bytes32 o) { if(data.length / 32 > index) { assembly { o := mload(add(data, add(32, mul(32, index)))) } } } /** @notice Executes a transaction from this contract @dev It can be used to retrieve lost tokens or ETH @param to Address to call @param value Ethers to send @param data Data for the call @return true If the call didn't throw an exception */ function sendTransaction(address to, uint256 value, bytes data) public onlyOwner returns (bool) { return to.call.value(value)(data); } /** @dev Retrieves the convertion rate of a given currency, the information of the rate is carried over the data field. If there is a newer rate on the cache, that rate is delivered and the data field is ignored. If the data contains a more recent rate than the cache, the cache is updated. @param currency Hash of the currency @param data Data with the rate signed by a delegate @return the rate and decimals of the currency convertion */ function getRate(bytes32 currency, bytes data) public returns (uint256, uint256) { if (fallback != address(0)) { return Oracle(fallback).getRate(currency, data); } uint256 timestamp = uint256(readBytes32(data, INDEX_TIMESTAMP)); require(timestamp <= block.timestamp); uint256 expirationTime = block.timestamp - expiration; if (cache[currency].timestamp >= timestamp && cache[currency].timestamp >= expirationTime) { return (cache[currency].rate, cache[currency].decimals); } else { require(timestamp >= expirationTime); uint256 rate = uint256(readBytes32(data, INDEX_RATE)); uint256 decimals = uint256(readBytes32(data, INDEX_DECIMALS)); uint8 v = uint8(readBytes32(data, INDEX_V)); bytes32 r = readBytes32(data, INDEX_R); bytes32 s = readBytes32(data, INDEX_S); bytes32 _hash = keccak256(this, currency, rate, decimals, timestamp); address signer = ecrecover(keccak256("\x19Ethereum Signed Message:\n32", _hash),v,r,s); require(isDelegate(signer)); cache[currency] = RateCache(timestamp, rate, decimals); return (rate, decimals); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isDelegate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"b","type":"bytes32"}],"name":"decodeCurrency","outputs":[{"name":"o","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_url","type":"string"}],"name":"setUrl","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_fallback","type":"address"}],"name":"setFallback","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"},{"name":"timestamp","type":"uint256"}],"name":"wasDelegate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"currency","type":"bytes32"},{"name":"data","type":"bytes"}],"name":"getRate","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"expiration","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fallback","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"url","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"delegates","outputs":[{"name":"started","type":"uint256"},{"name":"ended","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"currency","type":"string"}],"name":"encodeCurrency","outputs":[{"name":"o","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"removeDelegate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"supported","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"transferTo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"ticker","type":"string"}],"name":"addCurrency","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"time","type":"uint256"}],"name":"setExpirationTime","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"sendTransaction","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"addDelegate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"currencies","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"VERSION","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_currency","type":"bytes32"}],"name":"NewSymbol","type":"event"}]
Contract Creation Code
606060405261038460045560008054600160a060020a033316600160a060020a0319909116179055610f2e806100366000396000f30060606040526004361061011c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630777962781146101215780631b962c6514610154578063252498a2146101e157806332b12eac146102325780633a412849146102515780633ae26afa146102735780634665096d146102e1578063552079dc146103065780635600f04f14610335578063587cde1e146103485780635ee759e81461036757806367e7646f146103b85780637193f2f0146103d75780638da5cb5b146103ed578063a03fa7e314610400578063a1d0a48f1461041f578063c0cc365d14610470578063e5e288e514610486578063e71bdf41146104eb578063f6d1c2711461050a578063ffa1ad7414610520575b600080fd5b341561012c57600080fd5b610140600160a060020a0360043516610533565b604051901515815260200160405180910390f35b341561015f57600080fd5b61016a60043561058a565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101a657808201518382015260200161018e565b50505050905090810190601f1680156101d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101ec57600080fd5b61014060046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506105e195505050505050565b341561023d57600080fd5b610140600160a060020a0360043516610619565b341561025c57600080fd5b610140600160a060020a0360043516602435610667565b341561027e57600080fd5b6102c9600480359060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506106d995505050505050565b60405191825260208201526040908101905180910390f35b34156102ec57600080fd5b6102f4610a3f565b60405190815260200160405180910390f35b341561031157600080fd5b610319610a45565b604051600160a060020a03909116815260200160405180910390f35b341561034057600080fd5b61016a610a54565b341561035357600080fd5b6102c9600160a060020a0360043516610afd565b341561037257600080fd5b6102f460046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610b1695505050505050565b34156103c357600080fd5b610140600160a060020a0360043516610b32565b34156103e257600080fd5b610140600435610b93565b34156103f857600080fd5b610319610ba8565b341561040b57600080fd5b610140600160a060020a0360043516610bb7565b341561042a57600080fd5b61014060046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610c1a95505050505050565b341561047b57600080fd5b610140600435610cb8565b341561049157600080fd5b61014060048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610cdd95505050505050565b34156104f657600080fd5b610140600160a060020a0360043516610d7c565b341561051557600080fd5b6102f4600435610dca565b341561052b57600080fd5b6102f4610de9565b600061053d610e18565b600160a060020a03831660009081526003602052604090819020908051908101604052815481526001909101546020820152905080511580159061058357508060200151155b9392505050565b610592610e2f565b6101005b8015806105ab5750600719810160020a830215155b156105b5576105be565b60071901610596565b60089004604051603f8201601f1916810160405290815260208101929092525090565b6000805433600160a060020a039081169116146105fd57600080fd5b6005828051610610929160200190610e41565b50600192915050565b6000805433600160a060020a0390811691161461063557600080fd5b5060078054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b6000610671610e18565b600160a060020a038416600090815260036020526040908190209080519081016040528154815260019091015460208201529050805183101580156106b65750805115155b80156106d15750806020015115806106d15750806020015183105b949350505050565b6007546000908190819081908190819081908190819081908190600160a060020a03161561080257600754600160a060020a0316633ae26afa8e8e6000604051604001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff851602815260048101838152604060248301908152909160440183818151815260200191508051906020019080838360005b8381101561078d578082015183820152602001610775565b50505050905090810190601f1680156107ba5780820380516001836020036101000a031916815260200191505b5093505050506040805180830381600087803b15156107d857600080fd5b6102c65a03f115156107e957600080fd5b505050604051805190602001805190509a509a50610a2f565b61080d8c6000610dee565b98504289111561081c57600080fd5b60045460008e81526006602052604090205442919091039850899010801590610854575060008d815260066020526040902054889010155b1561087c5760008d81526006602052604090206001810154600290910154909b509950610a2f565b8789101561088957600080fd5b6108948c6001610dee565b96506108a18c6002610dee565b95506108ae8c6003610dee565b94506108bb8c6004610dee565b93506108c88c6005610dee565b9250308d88888c604051600160a060020a03959095166c010000000000000000000000000285526014850193909352603484019190915260548301526074820152609401604051809103902091506001826040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0160405180910390208686866040516000815260200160405260006040516020015260405193845260ff90921660208085019190915260408085019290925260608401929092526080909201915160208103908084039060008661646e5a03f115156109b457600080fd5b50506020604051035190506109c881610533565b15156109d357600080fd5b6060604051908101604052808a815260200188815260200187815250600660008f6000191660001916815260200190815260200160002060008201518155602082015181600101556040820151816002015590505086869a509a505b5050505050505050509250929050565b60045481565b600754600160a060020a031681565b610a5c610e2f565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610af25780601f10610ac757610100808354040283529160200191610af2565b820191906000526020600020905b815481529060010190602001808311610ad557829003601f168201915b505050505090505b90565b6003602052600090815260409020805460019091015482565b6000602082511115610b2757600080fd5b602082015192915050565b60008054819033600160a060020a03908116911614610b5057600080fd5b50600160a060020a0382166000908152600360205260409020805415801590610b7b57506001810154155b1515610b8657600080fd5b4260019182015592915050565b60016020526000908152604090205460ff1681565b600054600160a060020a031681565b6000805433600160a060020a03908116911614610bd357600080fd5b600160a060020a0382161515610be857600080fd5b5060008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60008054819033600160a060020a03908116911614610c3857600080fd5b610c4183610b16565b90507fde8f94bbcb736cb3ffdbd45b3429e721dddb2889215c90bd0816ac212847317b8160405190815260200160405180910390a16000818152600160208190526040909120805460ff1916821790556002805490918101610ca38382610ebf565b50600091825260209091200155506001919050565b6000805433600160a060020a03908116911614610cd457600080fd5b50600455600190565b6000805433600160a060020a03908116911614610cf957600080fd5b83600160a060020a0316838360405180828051906020019080838360005b83811015610d2f578082015183820152602001610d17565b50505050905090810190601f168015610d5c5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f1979650505050505050565b60008054819033600160a060020a03908116911614610d9a57600080fd5b50600160a060020a0382166000908152600360205260409020805415610dbf57600080fd5b429055506001919050565b6002805482908110610dd857fe5b600091825260209091200154905081565b600481565b60008160208451811515610dfe57fe5b041115610e12578160200260200183015190505b92915050565b604080519081016040526000808252602082015290565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e8257805160ff1916838001178555610eaf565b82800160010185558215610eaf579182015b82811115610eaf578251825591602001919060010190610e94565b50610ebb929150610ee8565b5090565b815481835581811511610ee357600083815260209020610ee3918101908301610ee8565b505050565b610afa91905b80821115610ebb5760008155600101610eee5600a165627a7a723058209a20fc556a738dbfd7947b6903047cd04ea56bcfb4d8280680559d170c98478f0029
Deployed Bytecode
0x60606040526004361061011c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630777962781146101215780631b962c6514610154578063252498a2146101e157806332b12eac146102325780633a412849146102515780633ae26afa146102735780634665096d146102e1578063552079dc146103065780635600f04f14610335578063587cde1e146103485780635ee759e81461036757806367e7646f146103b85780637193f2f0146103d75780638da5cb5b146103ed578063a03fa7e314610400578063a1d0a48f1461041f578063c0cc365d14610470578063e5e288e514610486578063e71bdf41146104eb578063f6d1c2711461050a578063ffa1ad7414610520575b600080fd5b341561012c57600080fd5b610140600160a060020a0360043516610533565b604051901515815260200160405180910390f35b341561015f57600080fd5b61016a60043561058a565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101a657808201518382015260200161018e565b50505050905090810190601f1680156101d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101ec57600080fd5b61014060046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506105e195505050505050565b341561023d57600080fd5b610140600160a060020a0360043516610619565b341561025c57600080fd5b610140600160a060020a0360043516602435610667565b341561027e57600080fd5b6102c9600480359060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506106d995505050505050565b60405191825260208201526040908101905180910390f35b34156102ec57600080fd5b6102f4610a3f565b60405190815260200160405180910390f35b341561031157600080fd5b610319610a45565b604051600160a060020a03909116815260200160405180910390f35b341561034057600080fd5b61016a610a54565b341561035357600080fd5b6102c9600160a060020a0360043516610afd565b341561037257600080fd5b6102f460046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610b1695505050505050565b34156103c357600080fd5b610140600160a060020a0360043516610b32565b34156103e257600080fd5b610140600435610b93565b34156103f857600080fd5b610319610ba8565b341561040b57600080fd5b610140600160a060020a0360043516610bb7565b341561042a57600080fd5b61014060046024813581810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610c1a95505050505050565b341561047b57600080fd5b610140600435610cb8565b341561049157600080fd5b61014060048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610cdd95505050505050565b34156104f657600080fd5b610140600160a060020a0360043516610d7c565b341561051557600080fd5b6102f4600435610dca565b341561052b57600080fd5b6102f4610de9565b600061053d610e18565b600160a060020a03831660009081526003602052604090819020908051908101604052815481526001909101546020820152905080511580159061058357508060200151155b9392505050565b610592610e2f565b6101005b8015806105ab5750600719810160020a830215155b156105b5576105be565b60071901610596565b60089004604051603f8201601f1916810160405290815260208101929092525090565b6000805433600160a060020a039081169116146105fd57600080fd5b6005828051610610929160200190610e41565b50600192915050565b6000805433600160a060020a0390811691161461063557600080fd5b5060078054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b6000610671610e18565b600160a060020a038416600090815260036020526040908190209080519081016040528154815260019091015460208201529050805183101580156106b65750805115155b80156106d15750806020015115806106d15750806020015183105b949350505050565b6007546000908190819081908190819081908190819081908190600160a060020a03161561080257600754600160a060020a0316633ae26afa8e8e6000604051604001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff851602815260048101838152604060248301908152909160440183818151815260200191508051906020019080838360005b8381101561078d578082015183820152602001610775565b50505050905090810190601f1680156107ba5780820380516001836020036101000a031916815260200191505b5093505050506040805180830381600087803b15156107d857600080fd5b6102c65a03f115156107e957600080fd5b505050604051805190602001805190509a509a50610a2f565b61080d8c6000610dee565b98504289111561081c57600080fd5b60045460008e81526006602052604090205442919091039850899010801590610854575060008d815260066020526040902054889010155b1561087c5760008d81526006602052604090206001810154600290910154909b509950610a2f565b8789101561088957600080fd5b6108948c6001610dee565b96506108a18c6002610dee565b95506108ae8c6003610dee565b94506108bb8c6004610dee565b93506108c88c6005610dee565b9250308d88888c604051600160a060020a03959095166c010000000000000000000000000285526014850193909352603484019190915260548301526074820152609401604051809103902091506001826040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0160405180910390208686866040516000815260200160405260006040516020015260405193845260ff90921660208085019190915260408085019290925260608401929092526080909201915160208103908084039060008661646e5a03f115156109b457600080fd5b50506020604051035190506109c881610533565b15156109d357600080fd5b6060604051908101604052808a815260200188815260200187815250600660008f6000191660001916815260200190815260200160002060008201518155602082015181600101556040820151816002015590505086869a509a505b5050505050505050509250929050565b60045481565b600754600160a060020a031681565b610a5c610e2f565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610af25780601f10610ac757610100808354040283529160200191610af2565b820191906000526020600020905b815481529060010190602001808311610ad557829003601f168201915b505050505090505b90565b6003602052600090815260409020805460019091015482565b6000602082511115610b2757600080fd5b602082015192915050565b60008054819033600160a060020a03908116911614610b5057600080fd5b50600160a060020a0382166000908152600360205260409020805415801590610b7b57506001810154155b1515610b8657600080fd5b4260019182015592915050565b60016020526000908152604090205460ff1681565b600054600160a060020a031681565b6000805433600160a060020a03908116911614610bd357600080fd5b600160a060020a0382161515610be857600080fd5b5060008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60008054819033600160a060020a03908116911614610c3857600080fd5b610c4183610b16565b90507fde8f94bbcb736cb3ffdbd45b3429e721dddb2889215c90bd0816ac212847317b8160405190815260200160405180910390a16000818152600160208190526040909120805460ff1916821790556002805490918101610ca38382610ebf565b50600091825260209091200155506001919050565b6000805433600160a060020a03908116911614610cd457600080fd5b50600455600190565b6000805433600160a060020a03908116911614610cf957600080fd5b83600160a060020a0316838360405180828051906020019080838360005b83811015610d2f578082015183820152602001610d17565b50505050905090810190601f168015610d5c5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f1979650505050505050565b60008054819033600160a060020a03908116911614610d9a57600080fd5b50600160a060020a0382166000908152600360205260409020805415610dbf57600080fd5b429055506001919050565b6002805482908110610dd857fe5b600091825260209091200154905081565b600481565b60008160208451811515610dfe57fe5b041115610e12578160200260200183015190505b92915050565b604080519081016040526000808252602082015290565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e8257805160ff1916838001178555610eaf565b82800160010185558215610eaf579182015b82811115610eaf578251825591602001919060010190610e94565b50610ebb929150610ee8565b5090565b815481835581811511610ee357600083815260209020610ee3918101908301610ee8565b505050565b610afa91905b80821115610ebb5760008155600101610eee5600a165627a7a723058209a20fc556a738dbfd7947b6903047cd04ea56bcfb4d8280680559d170c98478f0029
Swarm Source
bzzr://9a20fc556a738dbfd7947b6903047cd04ea56bcfb4d8280680559d170c98478f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.