Feature Tip: Add private address tag to any address under My Name Tag !
Medianizer for Bitcoin Price Oracles used in the Atomic Loans Bitcoin-backed loan protocol
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 1 from a total of 1 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Set Oracles | 8691737 | 2330 days ago | IN | 0 ETH | 0.00311382 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers.
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
|||
|---|---|---|---|---|---|---|---|---|
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Poke | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Poke | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH | |||||
| Peek | 9521205 | 2193 days ago | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Medianizer
Compiler Version
v0.4.26+commit.4563c3fc
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2019-10-07
*/
pragma solidity ^0.4.26;
contract ERC20Basic {
uint256 public totalSupply;
function balanceOf(address who) public view returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
}
contract ERC20 is ERC20Basic {
function allowance(address owner, address spender) public view returns (uint256);
function transferFrom(address from, address to, uint256 value) public returns (bool);
function approve(address spender, uint256 value) public returns (bool);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
contract DSMath {
function add(uint256 x, uint256 y) pure internal returns (uint256 z) {
assert((z = x + y) >= x);
}
function sub(uint256 x, uint256 y) pure internal returns (uint256 z) {
assert((z = x - y) <= x);
}
function mul(uint256 x, uint256 y) pure internal returns (uint256 z) {
assert((z = x * y) >= x);
}
function div(uint256 x, uint256 y) pure internal returns (uint256 z) {
require(y > 0);
z = x / y;
}
function min(uint256 x, uint256 y) pure internal returns (uint256 z) {
return x <= y ? x : y;
}
function max(uint256 x, uint256 y) pure internal returns (uint256 z) {
return x >= y ? x : y;
}
function hadd(uint128 x, uint128 y) pure internal returns (uint128 z) {
assert((z = x + y) >= x);
}
function hsub(uint128 x, uint128 y) pure internal returns (uint128 z) {
assert((z = x - y) <= x);
}
function hmul(uint128 x, uint128 y) pure internal returns (uint128 z) {
assert((z = x * y) >= x);
}
function hdiv(uint128 x, uint128 y) pure internal returns (uint128 z) {
assert(y > 0);
z = x / y;
}
function hmin(uint128 x, uint128 y) pure internal returns (uint128 z) {
return x <= y ? x : y;
}
function hmax(uint128 x, uint128 y) pure internal returns (uint128 z) {
return x >= y ? x : y;
}
function imin(int256 x, int256 y) pure internal returns (int256 z) {
return x <= y ? x : y;
}
function imax(int256 x, int256 y) pure internal returns (int256 z) {
return x >= y ? x : y;
}
uint128 constant WAD = 10 ** 18;
function wadd(uint128 x, uint128 y) pure internal returns (uint128) {
return hadd(x, y);
}
function wsub(uint128 x, uint128 y) pure internal returns (uint128) {
return hsub(x, y);
}
function wmul(uint128 x, uint128 y) view internal returns (uint128 z) {
z = cast((uint256(x) * y + WAD / 2) / WAD);
}
function wdiv(uint128 x, uint128 y) view internal returns (uint128 z) {
z = cast((uint256(x) * WAD + y / 2) / y);
}
function wmin(uint128 x, uint128 y) pure internal returns (uint128) {
return hmin(x, y);
}
function wmax(uint128 x, uint128 y) pure internal returns (uint128) {
return hmax(x, y);
}
uint128 constant RAY = 10 ** 27;
function radd(uint128 x, uint128 y) pure internal returns (uint128) {
return hadd(x, y);
}
function rsub(uint128 x, uint128 y) pure internal returns (uint128) {
return hsub(x, y);
}
function rmul(uint128 x, uint128 y) view internal returns (uint128 z) {
z = cast((uint256(x) * y + RAY / 2) / RAY);
}
function rdiv(uint128 x, uint128 y) view internal returns (uint128 z) {
z = cast((uint256(x) * RAY + y / 2) / y);
}
function rpow(uint128 x, uint64 n) view internal returns (uint128 z) {
z = n % 2 != 0 ? x : RAY;
for (n /= 2; n != 0; n /= 2) {
x = rmul(x, x);
if (n % 2 != 0) {
z = rmul(z, x);
}
}
}
function rmin(uint128 x, uint128 y) pure internal returns (uint128) {
return hmin(x, y);
}
function rmax(uint128 x, uint128 y) pure internal returns (uint128) {
return hmax(x, y);
}
function cast(uint256 x) pure internal returns (uint128 z) {
assert((z = uint128(x)) == x);
}
}
contract MedianizerInterface {
function peek() public view returns (bytes32, bool);
function read() public returns (bytes32);
function poke() public;
function poke(bytes32) public;
function fund (uint256 amount, ERC20 token) public;
}
contract Oracle is DSMath {
uint32 constant public DELAY = 900;
uint128 constant public prem = 1100000000000000000;
uint128 constant public turn = 1010000000000000000;
MedianizerInterface med;
uint32 public expiry;
uint32 public timeout;
uint128 assetPrice;
uint128 public paymentTokenPrice;
uint256 rewardAmount;
mapping(bytes32 => AsyncRequest) asyncRequests;
struct AsyncRequest {
address rewardee;
uint128 payment;
uint128 disbursement;
ERC20 token;
bool assetPriceSet;
bool paymentTokenPriceSet;
}
function peek() public view
returns (bytes32,bool)
{
return (bytes32(uint(assetPrice)), now < expiry);
}
function read() public view
returns (bytes32)
{
assert(now < expiry);
return bytes32(uint(assetPrice));
}
function setAssetPrice(bytes32 queryId, uint128 assetPrice_, uint32 expiry_) internal
{
asyncRequests[queryId].disbursement = 0;
if (assetPrice_ >= wmul(assetPrice, turn) || assetPrice_ <= wdiv(assetPrice, turn)) { asyncRequests[queryId].disbursement = asyncRequests[queryId].payment; }
assetPrice = assetPrice_;
expiry = expiry_;
med.poke();
asyncRequests[queryId].assetPriceSet = true;
if (asyncRequests[queryId].paymentTokenPriceSet) { reward(queryId); }
}
function setPaymentTokenPrice(bytes32 queryId, uint128 paymentTokenPrice_) internal {
paymentTokenPrice = paymentTokenPrice_;
asyncRequests[queryId].paymentTokenPriceSet = true;
if (asyncRequests[queryId].assetPriceSet) { reward(queryId); }
}
function reward(bytes32 queryId) internal {
rewardAmount = wmul(wmul(paymentTokenPrice, asyncRequests[queryId].disbursement), prem);
if (asyncRequests[queryId].token.balanceOf(address(this)) >= rewardAmount && asyncRequests[queryId].disbursement > 0) {
require(asyncRequests[queryId].token.transfer(asyncRequests[queryId].rewardee, rewardAmount));
}
delete(asyncRequests[queryId]);
}
function setMaxReward(uint256 maxReward_) public;
}
contract Medianizer is DSMath {
bool hasPrice;
bytes32 assetPrice;
uint256 public minOraclesRequired = 5;
bool on;
address deployer;
Oracle[] public oracles;
constructor() {
deployer = msg.sender;
}
function setOracles(address[10] addrs) {
require(!on);
require(msg.sender == deployer);
oracles.push(Oracle(addrs[0]));
oracles.push(Oracle(addrs[1]));
oracles.push(Oracle(addrs[2]));
oracles.push(Oracle(addrs[3]));
oracles.push(Oracle(addrs[4]));
oracles.push(Oracle(addrs[5]));
oracles.push(Oracle(addrs[6]));
oracles.push(Oracle(addrs[7]));
oracles.push(Oracle(addrs[8]));
oracles.push(Oracle(addrs[9]));
on = true;
}
function setMaxReward(uint256 maxReward_) {
require(on);
require(msg.sender == deployer);
oracles[0].setMaxReward(maxReward_);
oracles[1].setMaxReward(maxReward_);
oracles[2].setMaxReward(maxReward_);
oracles[3].setMaxReward(maxReward_);
oracles[4].setMaxReward(maxReward_);
oracles[5].setMaxReward(maxReward_);
oracles[6].setMaxReward(maxReward_);
oracles[7].setMaxReward(maxReward_);
oracles[8].setMaxReward(maxReward_);
oracles[9].setMaxReward(maxReward_);
}
function peek() public view returns (bytes32, bool) {
return (assetPrice,hasPrice);
}
function read() public returns (bytes32) {
var (assetPrice, hasPrice) = peek();
assert(hasPrice);
return assetPrice;
}
function fund (uint256 amount, ERC20 token) public {
for (uint256 i = 0; i < oracles.length; i++) {
require(token.transferFrom(msg.sender, address(oracles[i]), uint(div(uint128(amount), uint128(oracles.length)))));
}
}
function poke() public {
poke(0);
}
function poke(bytes32) public {
(assetPrice, hasPrice) = compute();
}
function compute() public returns (bytes32, bool) {
bytes32[] memory wuts = new bytes32[](oracles.length);
uint256 ctr = 0;
for (uint256 i = 0; i < oracles.length; i++) {
if (address(oracles[i]) != 0) {
var (wut, wuz) = oracles[i].peek();
if (wuz) {
if (ctr == 0 || wut >= wuts[ctr - 1]) {
wuts[ctr] = wut;
} else {
uint256 j = 0;
while (wut >= wuts[j]) {
j++;
}
for (uint256 k = ctr; k > j; k--) {
wuts[k] = wuts[k - 1];
}
wuts[j] = wut;
}
ctr++;
}
}
}
if (ctr < minOraclesRequired) return (assetPrice, false);
bytes32 value;
if (ctr % 2 == 0) {
uint128 val1 = uint128(wuts[(ctr / 2) - 1]);
uint128 val2 = uint128(wuts[ctr / 2]);
value = bytes32((val1 + val2) / 2);
} else {
value = wuts[(ctr - 1) / 2];
}
return (value, true);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"","type":"bytes32"}],"name":"poke","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"poke","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"compute","outputs":[{"name":"","type":"bytes32"},{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"maxReward_","type":"uint256"}],"name":"setMaxReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"read","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"peek","outputs":[{"name":"","type":"bytes32"},{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"oracles","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minOraclesRequired","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"},{"name":"token","type":"address"}],"name":"fund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addrs","type":"address[10]"}],"name":"setOracles","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]Contract Creation Code
6080604052600560025534801561001557600080fd5b506003805461010060a860020a0319163361010002179055610d2a8061003c6000396000f30060806040526004361061008a5763ffffffff60e060020a6000350416631504460f811461008f57806318178358146100a95780631a43c338146100be57806325c33e13146100ec57806357de26a41461010457806359e02dd71461012b5780635b69a7d814610140578063e35d106d14610174578063eee9239514610189578063f6061c08146101ad575b600080fd5b34801561009b57600080fd5b506100a76004356101f2565b005b3480156100b557600080fd5b506100a7610211565b3480156100ca57600080fd5b506100d361021d565b6040805192835290151560208301528051918290030190f35b3480156100f857600080fd5b506100a76004356104fe565b34801561011057600080fd5b506101196109f0565b60408051918252519081900360200190f35b34801561013757600080fd5b506100d3610a10565b34801561014c57600080fd5b50610158600435610a1d565b60408051600160a060020a039092168252519081900360200190f35b34801561018057600080fd5b50610119610a45565b34801561019557600080fd5b506100a7600435600160a060020a0360243516610a4b565b3480156101b957600080fd5b50604080516101408181019092526100a791369160049161014491908390600a90839083908082843750939650610b4995505050505050565b6101fa61021d565b6000805460ff191691151591909117905560015550565b61021b60006101f2565b565b6000806060600080600080600080600080600060048054905060405190808252806020026020018201604052801561025f578160200160208202803883390190505b50995060009850600097505b60045488101561043357600480548990811061028357fe5b600091825260209091200154600160a060020a0316156104285760048054899081106102ab57fe5b9060005260206000200160009054906101000a9004600160a060020a0316600160a060020a03166359e02dd76040518163ffffffff1660e060020a0281526004016040805180830381600087803b15801561030557600080fd5b505af1158015610319573d6000803e3d6000fd5b505050506040513d604081101561032f57600080fd5b508051602090910151909750955085156104285788158061036a57508960018a0381518110151561035c57fe5b602090810290910101518710155b1561038d57868a8a81518110151561037e57fe5b60209081029091010152610421565b600094505b89858151811015156103a057fe5b6020908102909101015187106103bb57600190940193610392565b8893505b848411156104075789600185038151811015156103d857fe5b906020019060200201518a858151811015156103f057fe5b6020908102909101015260001993909301926103bf565b868a8681518110151561041657fe5b602090810290910101525b6001909801975b60019097019661026b565b60025489101561044b5760015460009b509b506104f0565b6002890615156104c65789600160028b040381518110151561046957fe5b6020908102909101015191508960028a0481518110151561048657fe5b60209081029091010151905060026fffffffffffffffffffffffffffffffff83830116046fffffffffffffffffffffffffffffffff1660010292506104e8565b8960026000198b01048151811015156104db57fe5b9060200190602002015192505b8260019b509b505b505050505050505050509091565b60035460ff16151561050f57600080fd5b6003546101009004600160a060020a0316331461052b57600080fd5b60048054600090811061053a57fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b15801561058c57600080fd5b505af11580156105a0573d6000803e3d6000fd5b50505050600460018154811015156105b457fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b15801561060657600080fd5b505af115801561061a573d6000803e3d6000fd5b505050506004600281548110151561062e57fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b15801561068057600080fd5b505af1158015610694573d6000803e3d6000fd5b50505050600460038154811015156106a857fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b1580156106fa57600080fd5b505af115801561070e573d6000803e3d6000fd5b5050505060048081548110151561072157fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b15801561077357600080fd5b505af1158015610787573d6000803e3d6000fd5b505050506004600581548110151561079b57fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b1580156107ed57600080fd5b505af1158015610801573d6000803e3d6000fd5b505050506004600681548110151561081557fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b15801561086757600080fd5b505af115801561087b573d6000803e3d6000fd5b505050506004600781548110151561088f57fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b1580156108e157600080fd5b505af11580156108f5573d6000803e3d6000fd5b505050506004600881548110151561090957fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b15801561095b57600080fd5b505af115801561096f573d6000803e3d6000fd5b505050506004600981548110151561098357fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b1580156109d557600080fd5b505af11580156109e9573d6000803e3d6000fd5b5050505050565b60008060006109fd610a10565b91509150801515610a0a57fe5b50919050565b60015460005460ff169091565b6004805482908110610a2b57fe5b600091825260209091200154600160a060020a0316905081565b60025481565b60005b600454811015610b445781600160a060020a03166323b872dd33600484815481101515610a7757fe5b600091825260209091200154600454600160a060020a0390911690610ab1906fffffffffffffffffffffffffffffffff808a169116610cdd565b6040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529290931660248301526044820152905160648083019260209291908290030181600087803b158015610b0557600080fd5b505af1158015610b19573d6000803e3d6000fd5b505050506040513d6020811015610b2f57600080fd5b50511515610b3c57600080fd5b600101610a4e565b505050565b60035460ff1615610b5957600080fd5b6003546101009004600160a060020a03163314610b7557600080fd5b8051600480546001808201835560008390527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b918201805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a039687161790915560208601518454808401865584018054831691871691909117905560408601518454808401865584018054831691871691909117905560608601518454808401865584018054831691871691909117905560808601518454808401865584018054831691871691909117905560a08601518454808401865584018054831691871691909117905560c08601518454808401865584018054831691871691909117905560e0860151845480840186558401805483169187169190911790556101008601518454808401865584018054831691871691909117905561012090950151835480830190945592909101805490941691909216179091556003805460ff19169091179055565b6000808211610ceb57600080fd5b8183811515610cf657fe5b0493925050505600a165627a7a7230582072f72d40e3e1ef8c1c0f8771429d7c48dc5f94b23eb3430bf71c863c63a731cb0029
Deployed Bytecode
0x60806040526004361061008a5763ffffffff60e060020a6000350416631504460f811461008f57806318178358146100a95780631a43c338146100be57806325c33e13146100ec57806357de26a41461010457806359e02dd71461012b5780635b69a7d814610140578063e35d106d14610174578063eee9239514610189578063f6061c08146101ad575b600080fd5b34801561009b57600080fd5b506100a76004356101f2565b005b3480156100b557600080fd5b506100a7610211565b3480156100ca57600080fd5b506100d361021d565b6040805192835290151560208301528051918290030190f35b3480156100f857600080fd5b506100a76004356104fe565b34801561011057600080fd5b506101196109f0565b60408051918252519081900360200190f35b34801561013757600080fd5b506100d3610a10565b34801561014c57600080fd5b50610158600435610a1d565b60408051600160a060020a039092168252519081900360200190f35b34801561018057600080fd5b50610119610a45565b34801561019557600080fd5b506100a7600435600160a060020a0360243516610a4b565b3480156101b957600080fd5b50604080516101408181019092526100a791369160049161014491908390600a90839083908082843750939650610b4995505050505050565b6101fa61021d565b6000805460ff191691151591909117905560015550565b61021b60006101f2565b565b6000806060600080600080600080600080600060048054905060405190808252806020026020018201604052801561025f578160200160208202803883390190505b50995060009850600097505b60045488101561043357600480548990811061028357fe5b600091825260209091200154600160a060020a0316156104285760048054899081106102ab57fe5b9060005260206000200160009054906101000a9004600160a060020a0316600160a060020a03166359e02dd76040518163ffffffff1660e060020a0281526004016040805180830381600087803b15801561030557600080fd5b505af1158015610319573d6000803e3d6000fd5b505050506040513d604081101561032f57600080fd5b508051602090910151909750955085156104285788158061036a57508960018a0381518110151561035c57fe5b602090810290910101518710155b1561038d57868a8a81518110151561037e57fe5b60209081029091010152610421565b600094505b89858151811015156103a057fe5b6020908102909101015187106103bb57600190940193610392565b8893505b848411156104075789600185038151811015156103d857fe5b906020019060200201518a858151811015156103f057fe5b6020908102909101015260001993909301926103bf565b868a8681518110151561041657fe5b602090810290910101525b6001909801975b60019097019661026b565b60025489101561044b5760015460009b509b506104f0565b6002890615156104c65789600160028b040381518110151561046957fe5b6020908102909101015191508960028a0481518110151561048657fe5b60209081029091010151905060026fffffffffffffffffffffffffffffffff83830116046fffffffffffffffffffffffffffffffff1660010292506104e8565b8960026000198b01048151811015156104db57fe5b9060200190602002015192505b8260019b509b505b505050505050505050509091565b60035460ff16151561050f57600080fd5b6003546101009004600160a060020a0316331461052b57600080fd5b60048054600090811061053a57fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b15801561058c57600080fd5b505af11580156105a0573d6000803e3d6000fd5b50505050600460018154811015156105b457fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b15801561060657600080fd5b505af115801561061a573d6000803e3d6000fd5b505050506004600281548110151561062e57fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b15801561068057600080fd5b505af1158015610694573d6000803e3d6000fd5b50505050600460038154811015156106a857fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b1580156106fa57600080fd5b505af115801561070e573d6000803e3d6000fd5b5050505060048081548110151561072157fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b15801561077357600080fd5b505af1158015610787573d6000803e3d6000fd5b505050506004600581548110151561079b57fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b1580156107ed57600080fd5b505af1158015610801573d6000803e3d6000fd5b505050506004600681548110151561081557fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b15801561086757600080fd5b505af115801561087b573d6000803e3d6000fd5b505050506004600781548110151561088f57fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b1580156108e157600080fd5b505af11580156108f5573d6000803e3d6000fd5b505050506004600881548110151561090957fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b15801561095b57600080fd5b505af115801561096f573d6000803e3d6000fd5b505050506004600981548110151561098357fe5b60009182526020822001546040805160e060020a6325c33e13028152600481018590529051600160a060020a03909216926325c33e139260248084019382900301818387803b1580156109d557600080fd5b505af11580156109e9573d6000803e3d6000fd5b5050505050565b60008060006109fd610a10565b91509150801515610a0a57fe5b50919050565b60015460005460ff169091565b6004805482908110610a2b57fe5b600091825260209091200154600160a060020a0316905081565b60025481565b60005b600454811015610b445781600160a060020a03166323b872dd33600484815481101515610a7757fe5b600091825260209091200154600454600160a060020a0390911690610ab1906fffffffffffffffffffffffffffffffff808a169116610cdd565b6040805160e060020a63ffffffff8716028152600160a060020a0394851660048201529290931660248301526044820152905160648083019260209291908290030181600087803b158015610b0557600080fd5b505af1158015610b19573d6000803e3d6000fd5b505050506040513d6020811015610b2f57600080fd5b50511515610b3c57600080fd5b600101610a4e565b505050565b60035460ff1615610b5957600080fd5b6003546101009004600160a060020a03163314610b7557600080fd5b8051600480546001808201835560008390527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b918201805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a039687161790915560208601518454808401865584018054831691871691909117905560408601518454808401865584018054831691871691909117905560608601518454808401865584018054831691871691909117905560808601518454808401865584018054831691871691909117905560a08601518454808401865584018054831691871691909117905560c08601518454808401865584018054831691871691909117905560e0860151845480840186558401805483169187169190911790556101008601518454808401865584018054831691871691909117905561012090950151835480830190945592909101805490941691909216179091556003805460ff19169091179055565b6000808211610ceb57600080fd5b8183811515610cf657fe5b0493925050505600a165627a7a7230582072f72d40e3e1ef8c1c0f8771429d7c48dc5f94b23eb3430bf71c863c63a731cb0029
Swarm Source
bzzr://72f72d40e3e1ef8c1c0f8771429d7c48dc5f94b23eb3430bf71c863c63a731cb
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.