Overview
ETH Balance
ETH Value
$0.00Latest 25 from a total of 2,327 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Store Values | 19961774 | 216 days ago | IN | 0 ETH | 0.00000062 | ||||
| Store Values | 19958166 | 216 days ago | IN | 0 ETH | 0.00000048 | ||||
| Store Values | 19954559 | 216 days ago | IN | 0 ETH | 0.00000058 | ||||
| Store Values | 19950953 | 216 days ago | IN | 0 ETH | 0.00000054 | ||||
| Store Values | 19947346 | 216 days ago | IN | 0 ETH | 0.00000059 | ||||
| Store Values | 19943739 | 216 days ago | IN | 0 ETH | 0.00000047 | ||||
| Store Values | 19940131 | 216 days ago | IN | 0 ETH | 0.00000068 | ||||
| Store Values | 19936525 | 216 days ago | IN | 0 ETH | 0.00000004 | ||||
| Store Values | 19932918 | 216 days ago | IN | 0 ETH | 0.00000004 | ||||
| Store Values | 19929311 | 216 days ago | IN | 0 ETH | 0.00000002 | ||||
| Store Values | 19925704 | 216 days ago | IN | 0 ETH | 0.00000001 | ||||
| Store Values | 19922098 | 216 days ago | IN | 0 ETH | 0.00000001 | ||||
| Store Values | 19918491 | 216 days ago | IN | 0 ETH | 0.00000001 | ||||
| Store Values | 19914885 | 216 days ago | IN | 0 ETH | 0.00000001 | ||||
| Store Values | 19911279 | 216 days ago | IN | 0 ETH | 0.00000001 | ||||
| Store Values | 19907673 | 216 days ago | IN | 0 ETH | 0 | ||||
| Store Values | 19904067 | 217 days ago | IN | 0 ETH | 0 | ||||
| Store Values | 19900460 | 217 days ago | IN | 0 ETH | 0.00000002 | ||||
| Store Values | 19896853 | 217 days ago | IN | 0 ETH | 0.00000001 | ||||
| Store Values | 19893246 | 217 days ago | IN | 0 ETH | 0.00000001 | ||||
| Store Values | 19889638 | 217 days ago | IN | 0 ETH | 0.00000003 | ||||
| Store Values | 19886032 | 217 days ago | IN | 0 ETH | 0.00000012 | ||||
| Store Values | 19882426 | 217 days ago | IN | 0 ETH | 0.00000041 | ||||
| Store Values | 19878819 | 217 days ago | IN | 0 ETH | 0.00000043 | ||||
| Store Values | 19875212 | 217 days ago | IN | 0 ETH | 0.00000183 |
View more zero value Internal Transactions in Advanced View mode
Cross-Chain Transactions
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
contract Oracle {
address private owner;
mapping(address => bool) private signers;
mapping(uint88 => Record) private pStore;
constructor() {
owner = msg.sender;
}
struct Record {
uint64 height;
uint48 timestamp;
uint240 value;
}
// owner override for fixing values
function ownerSetValues(
uint8 systemid,
uint64 cid,
uint16 typ,
uint48 timestamp,
uint64 height,
uint240 value
) public {
assert(owner == msg.sender);
Record storage r = pStore[getKey(systemid, cid, typ)];
r.timestamp = timestamp;
r.height = height;
r.value = value;
}
function setSignerAddress(address s) public {
setSignerAddress(s, true);
}
function setSignerAddress(address s, bool access) public {
assert(owner == msg.sender);
signers[s] = access;
}
function transferOwnership(address o) public {
assert(owner == msg.sender);
owner = o;
}
function storeValues(bytes memory dat) public {
uint init;
uint offset;
assembly {
init := add(dat, 0x20) // skip bytes header (length parameter)
offset := init
}
// header
uint8 version;
uint16 payloadlen;
uint88 scid;
uint48 ts;
uint64 height;
// payload
uint256 val;
uint16 typ;
address recovered;
while (true) {
if (offset >= init + dat.length) {
break;
}
(version, payloadlen, scid, ts, height) = decodeHeader(offset);
if (version == 0) {
break;
}
recovered = checkSignature(payloadlen, offset);
require(recovered != address(0), "ECDSA: invalid signature");
require(signers[recovered], "invalid signer");
uint start = offset + 0x20; // skip header
uint8 j;
while (j < payloadlen) {
assembly {
val := mload(add(start, mul(0x20, j)))
typ := shl(0x8, byte(0, val))
typ := add(typ, byte(1, val))
}
scid = appendType(scid, typ);
Record storage rec = pStore[scid];
if (rec.height < height) {
pStore[scid] = Record(height, ts, uint240(val));
} else if (rec.height == height && rec.timestamp < ts) {
pStore[scid] = Record(height, ts, uint240(val));
}
j++;
}
offset += (payloadlen + 4) * 0x20; // ( payload + header + signature )
}
}
function decodeHeader(
uint offset
)
private
pure
returns (
uint8 version,
uint16 payloadlen,
uint88 scid,
uint48 ts,
uint64 height
)
{
uint64 cid;
uint8 sid;
bytes32 buf;
assembly {
// HEADER
buf := mload(offset)
// decode version
version := buf
// shift 8 + decode height
buf := shr(0x08, buf)
height := buf
// shift 32 + decode chain id
buf := shr(0x40, buf)
cid := buf
// shift 32 + decode service id
buf := shr(0x40, buf)
sid := buf
// shift 8 + decode timestamp
buf := shr(0x08, buf)
ts := buf
// shift 48 + decode estimations length
buf := shr(0x30, buf)
payloadlen := buf
scid := sid
scid := shl(0x40, scid)
scid := cid
scid := shl(0x10, scid)
}
return (version, payloadlen, scid, ts, height);
}
function checkSignature(
uint16 payloadlen,
uint offset
) private pure returns (address recovered) {
bytes32 r;
bytes32 s;
uint8 v;
bytes32 kec;
assembly {
// SIGNATURE
// calc signature's contents length
// (header + payload ( 0x20 + 0x20 * num. elements ) )
let siglen := add(0x20, mul(0x20, payloadlen))
// hash content
kec := keccak256(offset, siglen)
// shift + decode r
offset := add(offset, siglen)
r := mload(offset)
// shift + decode s
offset := add(offset, 0x20)
s := mload(offset)
// shift + decode v
offset := add(offset, 0x20)
v := byte(0, mload(offset))
}
if (v != 27 && v != 28) {
revert("invalid signer v param");
}
recovered = ecrecover(kec, v, r, s);
}
function appendType(
uint88 scida,
uint16 typ
) private pure returns (uint88 scidb) {
assembly {
scidb := shr(0x10, scida)
scidb := shl(0x10, scidb)
scidb := add(scidb, typ)
}
return scidb;
}
function get(
uint8 systemid,
uint64 cid,
uint16 typ
) public view returns (uint256 value, uint64 height, uint48 timestamp) {
Record storage s = pStore[getKey(systemid, cid, typ)];
return (uint256(s.value), s.height, s.timestamp);
}
function getValue(
uint8 systemid,
uint64 cid,
uint16 typ
) public view returns (uint256 value) {
Record storage s = pStore[getKey(systemid, cid, typ)];
return uint256(s.value);
}
function getRecord(
uint8 systemid,
uint64 cid,
uint16 typ
) public view returns (Record memory r) {
return pStore[getKey(systemid, cid, typ)];
}
function getInTime(
uint8 systemid,
uint64 cid,
uint16 typ,
uint48 tin
) public view returns (uint256 value, uint64 height, uint48 timestamp) {
Record storage s = pStore[getKey(systemid, cid, typ)];
if (s.timestamp >= uint48(block.timestamp) * 1000 - tin) {
return (uint256(s.value), s.height, s.timestamp);
}
return (0, 0, 0);
}
function getKey(
uint8 sid,
uint64 cid,
uint16 typ
) private pure returns (uint88 scid) {
assembly {
scid := sid
scid := shl(0x40, scid)
scid := add(scid, cid)
scid := shl(0x10, scid)
scid := add(scid, typ)
}
return (scid);
}
}{
"remappings": [
"forge-std/=lib/forge-std/src/"
],
"optimizer": {
"enabled": true,
"runs": 200
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "cancun",
"viaIR": false,
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint8","name":"systemid","type":"uint8"},{"internalType":"uint64","name":"cid","type":"uint64"},{"internalType":"uint16","name":"typ","type":"uint16"}],"name":"get","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint64","name":"height","type":"uint64"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"systemid","type":"uint8"},{"internalType":"uint64","name":"cid","type":"uint64"},{"internalType":"uint16","name":"typ","type":"uint16"},{"internalType":"uint48","name":"tin","type":"uint48"}],"name":"getInTime","outputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint64","name":"height","type":"uint64"},{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"systemid","type":"uint8"},{"internalType":"uint64","name":"cid","type":"uint64"},{"internalType":"uint16","name":"typ","type":"uint16"}],"name":"getRecord","outputs":[{"components":[{"internalType":"uint64","name":"height","type":"uint64"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"uint240","name":"value","type":"uint240"}],"internalType":"struct Oracle.Record","name":"r","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"systemid","type":"uint8"},{"internalType":"uint64","name":"cid","type":"uint64"},{"internalType":"uint16","name":"typ","type":"uint16"}],"name":"getValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"systemid","type":"uint8"},{"internalType":"uint64","name":"cid","type":"uint64"},{"internalType":"uint16","name":"typ","type":"uint16"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"uint64","name":"height","type":"uint64"},{"internalType":"uint240","name":"value","type":"uint240"}],"name":"ownerSetValues","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"s","type":"address"}],"name":"setSignerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"s","type":"address"},{"internalType":"bool","name":"access","type":"bool"}],"name":"setSignerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"dat","type":"bytes"}],"name":"storeValues","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"o","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
6080604052348015600e575f5ffd5b505f80546001600160a01b03191633179055610cd58061002d5f395ff3fe608060405234801561000f575f5ffd5b5060043610610090575f3560e01c80637909397811610063578063790939781461015d578063c84326df14610170578063db66b49a14610183578063f2fde38b1461024d578063fbdf8c0814610260575f5ffd5b80630385389d14610094578063046dc16614610122578063105d5389146101375780633ad0288e1461014a575b5f5ffd5b6100f26100a2366004610971565b604092831b9190910160101b016001600160581b03165f908152600260205220600181015490546001600160f01b03909116916001600160401b03821691600160401b900465ffffffffffff1690565b604080519384526001600160401b03909216602084015265ffffffffffff16908201526060015b60405180910390f35b6101356101303660046109c7565b6102ac565b005b6101356101453660046109fb565b6102ba565b610135610158366004610aab565b61067b565b6100f261016b366004610af9565b6106be565b61013561017e366004610b4a565b610761565b610211610191366004610971565b60408051606080820183525f808352602080840182905292840181905295831b9490940160101b929092016001600160581b0316845260028252928390208351928301845280546001600160401b0381168452600160401b900465ffffffffffff1691830191909152600101546001600160f01b03169181019190915290565b6040805182516001600160401b0316815260208084015165ffffffffffff1690820152918101516001600160f01b031690820152606001610119565b61013561025b3660046109c7565b610807565b61029e61026e366004610971565b6001600160581b03604093841b9290920160101b01165f908152600260205220600101546001600160f01b031690565b604051908152602001610119565b6102b781600161067b565b50565b60208101805f808080808080805b8a516102d4908b610bdd565b89101561066e578851975060c088901c9650603888901c62010000600160c81b03169550609088901c9450600888901c935060ff88161561066e57610319878a610841565b90506001600160a01b0381166103765760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064015b60405180910390fd5b6001600160a01b0381165f9081526001602052604090205460ff166103ce5760405162461bcd60e51b815260206004820152600e60248201526d34b73b30b634b21039b4b3b732b960911b604482015260640161036d565b5f6103da8a6020610bdd565b90505f5b8861ffff168160ff16101561064157602081028201519450600185901a5f86901a60081b01935061040f8885610926565b6001600160581b0381165f9081526002602052604090208054919950906001600160401b038089169116101561051f576040518060600160405280886001600160401b031681526020018965ffffffffffff168152602001876001600160f01b031681525060025f8b6001600160581b03166001600160581b031681526020019081526020015f205f820151815f015f6101000a8154816001600160401b0302191690836001600160401b031602179055506020820151815f0160086101000a81548165ffffffffffff021916908365ffffffffffff1602179055506040820151816001015f6101000a8154816001600160f01b0302191690836001600160f01b0316021790555090505061062e565b80546001600160401b03888116911614801561054d5750805465ffffffffffff808a16600160401b90920416105b1561062e576040518060600160405280886001600160401b031681526020018965ffffffffffff168152602001876001600160f01b031681525060025f8b6001600160581b03166001600160581b031681526020019081526020015f205f820151815f015f6101000a8154816001600160401b0302191690836001600160401b031602179055506020820151815f0160086101000a81548165ffffffffffff021916908365ffffffffffff1602179055506040820151816001015f6101000a8154816001600160f01b0302191690836001600160f01b031602179055509050505b8161063881610bf0565b925050506103de565b61064c896004610c0e565b610657906020610c28565b6106659061ffff168c610bdd565b9a5050506102c8565b5050505050505050505050565b5f546001600160a01b0316331461069457610694610c4c565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b604084811b840160101b83016001600160581b03165f908152600260205290812081908190846106f0426103e8610c60565b6106fa9190610c81565b815465ffffffffffff918216600160401b9091049091161061074c57600181015490546001600160f01b0390911693506001600160401b0381169250600160401b900465ffffffffffff169050610757565b5f5f5f935093509350505b9450945094915050565b5f546001600160a01b0316331461077a5761077a610c4c565b604095861b9490940160101b929092016001600160581b03165f90815260026020529390932080546dffffffffffffffffffffffffffff1916600160401b65ffffffffffff9095169490940267ffffffffffffffff1916939093176001600160401b03909116178255600190910180546001600160f01b0319166001600160f01b03909216919091179055565b5f546001600160a01b0316331461082057610820610c4c565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b6020808302808201832092019081015160408201516060909201805190935f9391841a90601b821480159061087a57508160ff16601c14155b156108c05760405162461bcd60e51b8152602060048201526016602482015275696e76616c6964207369676e6572207620706172616d60501b604482015260640161036d565b604080515f81526020810180835283905260ff841691810191909152606081018590526080810184905260019060a0016020604051602081039080840390855afa158015610910573d5f5f3e3d5ffd5b5050604051601f19015198975050505050505050565b61ffff19821681015b92915050565b803560ff81168114610945575f5ffd5b919050565b80356001600160401b0381168114610945575f5ffd5b803561ffff81168114610945575f5ffd5b5f5f5f60608486031215610983575f5ffd5b61098c84610935565b925061099a6020850161094a565b91506109a860408501610960565b90509250925092565b80356001600160a01b0381168114610945575f5ffd5b5f602082840312156109d7575f5ffd5b6109e0826109b1565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610a0b575f5ffd5b81356001600160401b03811115610a20575f5ffd5b8201601f81018413610a30575f5ffd5b80356001600160401b03811115610a4957610a496109e7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610a7757610a776109e7565b604052818152828201602001861015610a8e575f5ffd5b816020840160208301375f91810160200191909152949350505050565b5f5f60408385031215610abc575f5ffd5b610ac5836109b1565b915060208301358015158114610ad9575f5ffd5b809150509250929050565b803565ffffffffffff81168114610945575f5ffd5b5f5f5f5f60808587031215610b0c575f5ffd5b610b1585610935565b9350610b236020860161094a565b9250610b3160408601610960565b9150610b3f60608601610ae4565b905092959194509250565b5f5f5f5f5f5f60c08789031215610b5f575f5ffd5b610b6887610935565b9550610b766020880161094a565b9450610b8460408801610960565b9350610b9260608801610ae4565b9250610ba06080880161094a565b915060a08701356001600160f01b0381168114610bbb575f5ffd5b809150509295509295509295565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561092f5761092f610bc9565b5f60ff821660ff8103610c0557610c05610bc9565b60010192915050565b61ffff818116838216019081111561092f5761092f610bc9565b61ffff8181168382160290811690818114610c4557610c45610bc9565b5092915050565b634e487b7160e01b5f52600160045260245ffd5b65ffffffffffff8181168382160290811690818114610c4557610c45610bc9565b65ffffffffffff828116828216039081111561092f5761092f610bc956fea26469706673582212202fc48cbfe7bdcae7142fe1b69e91eac426e8d4861de40bd305caf9ce23a53f1364736f6c634300081c0033
Deployed Bytecode
0x608060405234801561000f575f5ffd5b5060043610610090575f3560e01c80637909397811610063578063790939781461015d578063c84326df14610170578063db66b49a14610183578063f2fde38b1461024d578063fbdf8c0814610260575f5ffd5b80630385389d14610094578063046dc16614610122578063105d5389146101375780633ad0288e1461014a575b5f5ffd5b6100f26100a2366004610971565b604092831b9190910160101b016001600160581b03165f908152600260205220600181015490546001600160f01b03909116916001600160401b03821691600160401b900465ffffffffffff1690565b604080519384526001600160401b03909216602084015265ffffffffffff16908201526060015b60405180910390f35b6101356101303660046109c7565b6102ac565b005b6101356101453660046109fb565b6102ba565b610135610158366004610aab565b61067b565b6100f261016b366004610af9565b6106be565b61013561017e366004610b4a565b610761565b610211610191366004610971565b60408051606080820183525f808352602080840182905292840181905295831b9490940160101b929092016001600160581b0316845260028252928390208351928301845280546001600160401b0381168452600160401b900465ffffffffffff1691830191909152600101546001600160f01b03169181019190915290565b6040805182516001600160401b0316815260208084015165ffffffffffff1690820152918101516001600160f01b031690820152606001610119565b61013561025b3660046109c7565b610807565b61029e61026e366004610971565b6001600160581b03604093841b9290920160101b01165f908152600260205220600101546001600160f01b031690565b604051908152602001610119565b6102b781600161067b565b50565b60208101805f808080808080805b8a516102d4908b610bdd565b89101561066e578851975060c088901c9650603888901c62010000600160c81b03169550609088901c9450600888901c935060ff88161561066e57610319878a610841565b90506001600160a01b0381166103765760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064015b60405180910390fd5b6001600160a01b0381165f9081526001602052604090205460ff166103ce5760405162461bcd60e51b815260206004820152600e60248201526d34b73b30b634b21039b4b3b732b960911b604482015260640161036d565b5f6103da8a6020610bdd565b90505f5b8861ffff168160ff16101561064157602081028201519450600185901a5f86901a60081b01935061040f8885610926565b6001600160581b0381165f9081526002602052604090208054919950906001600160401b038089169116101561051f576040518060600160405280886001600160401b031681526020018965ffffffffffff168152602001876001600160f01b031681525060025f8b6001600160581b03166001600160581b031681526020019081526020015f205f820151815f015f6101000a8154816001600160401b0302191690836001600160401b031602179055506020820151815f0160086101000a81548165ffffffffffff021916908365ffffffffffff1602179055506040820151816001015f6101000a8154816001600160f01b0302191690836001600160f01b0316021790555090505061062e565b80546001600160401b03888116911614801561054d5750805465ffffffffffff808a16600160401b90920416105b1561062e576040518060600160405280886001600160401b031681526020018965ffffffffffff168152602001876001600160f01b031681525060025f8b6001600160581b03166001600160581b031681526020019081526020015f205f820151815f015f6101000a8154816001600160401b0302191690836001600160401b031602179055506020820151815f0160086101000a81548165ffffffffffff021916908365ffffffffffff1602179055506040820151816001015f6101000a8154816001600160f01b0302191690836001600160f01b031602179055509050505b8161063881610bf0565b925050506103de565b61064c896004610c0e565b610657906020610c28565b6106659061ffff168c610bdd565b9a5050506102c8565b5050505050505050505050565b5f546001600160a01b0316331461069457610694610c4c565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b604084811b840160101b83016001600160581b03165f908152600260205290812081908190846106f0426103e8610c60565b6106fa9190610c81565b815465ffffffffffff918216600160401b9091049091161061074c57600181015490546001600160f01b0390911693506001600160401b0381169250600160401b900465ffffffffffff169050610757565b5f5f5f935093509350505b9450945094915050565b5f546001600160a01b0316331461077a5761077a610c4c565b604095861b9490940160101b929092016001600160581b03165f90815260026020529390932080546dffffffffffffffffffffffffffff1916600160401b65ffffffffffff9095169490940267ffffffffffffffff1916939093176001600160401b03909116178255600190910180546001600160f01b0319166001600160f01b03909216919091179055565b5f546001600160a01b0316331461082057610820610c4c565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b6020808302808201832092019081015160408201516060909201805190935f9391841a90601b821480159061087a57508160ff16601c14155b156108c05760405162461bcd60e51b8152602060048201526016602482015275696e76616c6964207369676e6572207620706172616d60501b604482015260640161036d565b604080515f81526020810180835283905260ff841691810191909152606081018590526080810184905260019060a0016020604051602081039080840390855afa158015610910573d5f5f3e3d5ffd5b5050604051601f19015198975050505050505050565b61ffff19821681015b92915050565b803560ff81168114610945575f5ffd5b919050565b80356001600160401b0381168114610945575f5ffd5b803561ffff81168114610945575f5ffd5b5f5f5f60608486031215610983575f5ffd5b61098c84610935565b925061099a6020850161094a565b91506109a860408501610960565b90509250925092565b80356001600160a01b0381168114610945575f5ffd5b5f602082840312156109d7575f5ffd5b6109e0826109b1565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610a0b575f5ffd5b81356001600160401b03811115610a20575f5ffd5b8201601f81018413610a30575f5ffd5b80356001600160401b03811115610a4957610a496109e7565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610a7757610a776109e7565b604052818152828201602001861015610a8e575f5ffd5b816020840160208301375f91810160200191909152949350505050565b5f5f60408385031215610abc575f5ffd5b610ac5836109b1565b915060208301358015158114610ad9575f5ffd5b809150509250929050565b803565ffffffffffff81168114610945575f5ffd5b5f5f5f5f60808587031215610b0c575f5ffd5b610b1585610935565b9350610b236020860161094a565b9250610b3160408601610960565b9150610b3f60608601610ae4565b905092959194509250565b5f5f5f5f5f5f60c08789031215610b5f575f5ffd5b610b6887610935565b9550610b766020880161094a565b9450610b8460408801610960565b9350610b9260608801610ae4565b9250610ba06080880161094a565b915060a08701356001600160f01b0381168114610bbb575f5ffd5b809150509295509295509295565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561092f5761092f610bc9565b5f60ff821660ff8103610c0557610c05610bc9565b60010192915050565b61ffff818116838216019081111561092f5761092f610bc9565b61ffff8181168382160290811690818114610c4557610c45610bc9565b5092915050565b634e487b7160e01b5f52600160045260245ffd5b65ffffffffffff8181168382160290811690818114610c4557610c45610bc9565b65ffffffffffff828116828216039081111561092f5761092f610bc956fea26469706673582212202fc48cbfe7bdcae7142fe1b69e91eac426e8d4861de40bd305caf9ce23a53f1364736f6c634300081c0033
Net Worth in USD
Net Worth in ETH
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.