Overview
ETH Balance
ETH Value
$0.00Latest 25 from a total of 473,910 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Update Price Dat... | 24987395 | 12 secs ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24987334 | 2 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24987213 | 6 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24987183 | 7 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24987098 | 10 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24987061 | 11 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24987035 | 12 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24987004 | 13 mins ago | IN | 0 ETH | 0.0000001 | ||||
| Update Price Dat... | 24987003 | 13 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24986971 | 14 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24986941 | 15 mins ago | IN | 0 ETH | 0.0000001 | ||||
| Update Price Dat... | 24986941 | 15 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24986881 | 17 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24986821 | 19 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24986796 | 20 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24986761 | 21 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24986703 | 23 mins ago | IN | 0 ETH | 0.0000001 | ||||
| Update Price Dat... | 24986703 | 23 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24986671 | 24 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24986641 | 25 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24986613 | 26 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24986583 | 27 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24986553 | 28 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24986521 | 29 mins ago | IN | 0 ETH | 0.00000011 | ||||
| Update Price Dat... | 24986491 | 30 mins ago | IN | 0 ETH | 0.0000001 |
View more zero value Internal Transactions in Advanced View mode
Cross-Chain Transactions
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x67808395...1Aea30f28 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.28;
import { IVerifierProxy } from "./interfaces/IVerifierProxy.sol";
/**
* @title PriceFeedStorage
* @dev Contract for storing and updating price feed data for a single asset pair
*/
contract ChainlinkPriceFeed {
error InvalidParameter(string parameterName);
error FeedIdMismatch();
error PriceDataInvalid();
error PriceFeedNotAvailable();
error PriceFeedExpired();
error OldPriceFeedUpdate(uint256 previousTimestamp, uint256 updateTimestamp);
error InvalidPriceFeedVersion(uint16 version);
error NotImplemented();
struct PriceFeedData {
int192 price;
uint32 timestamp;
uint32 expiresAt;
}
// Address of the pair token (always the first token in the pair)
address public immutable PAIR_TOKEN_ADDRESS;
// Address of the USDC token (always the second token in the pair)
address public immutable USDC_TOKEN_ADDRESS;
// Address of the VerifierProxy contract
IVerifierProxy public immutable VERIFIER_PROXY;
// The unique identifier for this price feed
bytes32 public immutable FEED_ID;
// Expected version of the report
uint16 public immutable EXPECTED_VERSION = 3;
// Human-readable name of the pair (e.g., "WLD/USD")
string public PAIR_NAME;
// Number of decimals for the price feed
uint8 public immutable DECIMALS;
// Price feed data for the single pair
PriceFeedData public priceFeed;
event AnswerUpdated(int256 indexed current, uint256 indexed roundId, uint256 updatedAt);
/**
* @dev Constructor to set the USDC address, Pair Token address, VerifierProxy address, feed ID and pair name
* @param _pairAddress The address of the pair token token
* @param _usdcAddress The address of the USDC token
* @param _verifierProxyAddress The address of the VerifierProxy contract
* @param _feedId The unique identifier for this price feed
* @param _pairName Human-readable name of the pair (e.g., "ETH/USD")
* @param _decimals Number of decimals for the price feed
*/
constructor(
address _pairAddress,
address _usdcAddress,
address payable _verifierProxyAddress,
bytes32 _feedId,
string memory _pairName,
uint8 _decimals
) {
if (_usdcAddress == address(0)) revert InvalidParameter("USDC_Address");
if (_pairAddress == address(0)) revert InvalidParameter("Pair_Token_Address");
if (_verifierProxyAddress == address(0)) revert InvalidParameter("Verifier_Proxy");
if (_feedId == bytes32(0)) revert InvalidParameter("Feed_Id");
if (bytes(_pairName).length == 0) revert InvalidParameter("Pair_Name");
if (_decimals == 0) revert InvalidParameter("Decimals");
USDC_TOKEN_ADDRESS = _usdcAddress;
PAIR_TOKEN_ADDRESS = _pairAddress;
VERIFIER_PROXY = IVerifierProxy(_verifierProxyAddress);
FEED_ID = _feedId;
PAIR_NAME = _pairName;
DECIMALS = _decimals;
}
function updatePriceData(
bytes memory verifySignedReportRequest,
bytes memory parameterPayload
)
public
returns (bytes memory)
{
// Decode the reportData from verifySignedReportRequest
(, bytes memory reportData) = abi.decode(verifySignedReportRequest, (bytes32[3], bytes));
// Extract report version from reportData
uint16 reportVersion = (uint16(uint8(reportData[0])) << 8) | uint16(uint8(reportData[1]));
if (reportVersion != EXPECTED_VERSION) revert InvalidPriceFeedVersion(reportVersion);
// @dev - Value should be the nativeFee required to verify the reportData on-chain
// We're passing 0 here just for testing purpose, make sure to adapt to your case.
bytes memory returnDataCall = VERIFIER_PROXY.verify{ value: 0 }(verifySignedReportRequest, parameterPayload);
// Decode the return data into the specified structure
(
bytes32 receivedFeedId,
uint32 validFromTimestamp,
uint32 observationsTimestamp,
,
,
uint32 expiresAt,
int192 price,
,
) = abi.decode(returnDataCall, (bytes32, uint32, uint32, uint192, uint192, uint32, int192, int192, int192));
// Don't allow updating to an old price
if (observationsTimestamp < priceFeed.timestamp) {
revert OldPriceFeedUpdate(priceFeed.timestamp, observationsTimestamp);
}
// Verify that the feed ID matches the contract's feed ID
if (receivedFeedId != FEED_ID) revert FeedIdMismatch();
// Validate the expiration times
if (block.timestamp < validFromTimestamp || block.timestamp > expiresAt) revert PriceDataInvalid();
// Store the price feed data
priceFeed = PriceFeedData({ price: price, timestamp: observationsTimestamp, expiresAt: expiresAt });
emit AnswerUpdated(price, block.timestamp, block.timestamp);
return returnDataCall;
}
/**
* @dev Get the latest price feed data
* @return roundId The round ID
* @return answer The latest price
* @return startedAt The timestamp when the round started
* @return updatedAt The timestamp of the latest update
* @return answeredInRound The round ID in which the answer was computed
*/
function latestRoundData()
external
view
returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
{
if (priceFeed.timestamp == 0) revert PriceFeedNotAvailable();
if (block.timestamp > priceFeed.expiresAt) revert PriceFeedExpired();
roundId = priceFeed.timestamp;
answer = priceFeed.price;
startedAt = priceFeed.timestamp;
updatedAt = priceFeed.timestamp;
answeredInRound = priceFeed.timestamp;
return (roundId, answer, startedAt, updatedAt, answeredInRound);
}
/**
* @dev Returns the description of the price feed
* @return The human-readable name of the pair (e.g., "WLD/USD")
*/
function description() external view returns (string memory) {
return PAIR_NAME;
}
/**
* @dev Returns the version of the price feed
* @return The version number
*/
function version() external pure returns (uint256) {
return 1;
}
/**
* @dev Returns the number of decimals for the price feed
* @return The number of decimals
*/
function decimals() external view returns (uint8) {
return DECIMALS;
}
/**
* @dev Get historical price feed data for a specific round
* @param _roundId The round ID to get data for
* @return roundId The round ID
* @return answer The price
* @return startedAt The timestamp when the round started
* @return updatedAt The timestamp of the update
* @return answeredInRound The round ID in which the answer was computed
*/
function getRoundData(uint80 _roundId)
external
view
returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
{
revert NotImplemented();
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
interface IVerifierProxy {
/**
* @notice Verifies that the data encoded has been signed
* correctly by routing to the correct verifier, and bills the user if applicable.
* @param payload The encoded data to be verified, including the signed
* report.
* @param parameterPayload fee metadata for billing. For the current implementation this is just the abi-encoded fee
* token ERC-20 address
* @return verifierResponse The encoded report from the verifier.
*/
function verify(
bytes calldata payload,
bytes calldata parameterPayload
)
external
payable
returns (bytes memory verifierResponse);
/**
* @notice Bulk verifies that the data encoded has been signed
* correctly by routing to the correct verifier, and bills the user if applicable.
* @param payloads The encoded payloads to be verified, including the signed
* report.
* @param parameterPayload fee metadata for billing. For the current implementation this is just the abi-encoded fee
* token ERC-20 address
* @return verifiedReports The encoded reports from the verifier.
*/
function verifyBulk(
bytes[] calldata payloads,
bytes calldata parameterPayload
)
external
payable
returns (bytes[] memory verifiedReports);
// The feed ID is the first 32 bytes of the report data.
receive() external payable;
}{
"remappings": [
"@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/",
"forge-std/=lib/forge-std/"
],
"optimizer": {
"enabled": true,
"runs": 10000
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "none",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "shanghai",
"viaIR": false,
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_pairAddress","type":"address"},{"internalType":"address","name":"_usdcAddress","type":"address"},{"internalType":"address payable","name":"_verifierProxyAddress","type":"address"},{"internalType":"bytes32","name":"_feedId","type":"bytes32"},{"internalType":"string","name":"_pairName","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"FeedIdMismatch","type":"error"},{"inputs":[{"internalType":"string","name":"parameterName","type":"string"}],"name":"InvalidParameter","type":"error"},{"inputs":[{"internalType":"uint16","name":"version","type":"uint16"}],"name":"InvalidPriceFeedVersion","type":"error"},{"inputs":[],"name":"NotImplemented","type":"error"},{"inputs":[{"internalType":"uint256","name":"previousTimestamp","type":"uint256"},{"internalType":"uint256","name":"updateTimestamp","type":"uint256"}],"name":"OldPriceFeedUpdate","type":"error"},{"inputs":[],"name":"PriceDataInvalid","type":"error"},{"inputs":[],"name":"PriceFeedExpired","type":"error"},{"inputs":[],"name":"PriceFeedNotAvailable","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"int256","name":"current","type":"int256"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"updatedAt","type":"uint256"}],"name":"AnswerUpdated","type":"event"},{"inputs":[],"name":"DECIMALS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EXPECTED_VERSION","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FEED_ID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAIR_NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAIR_TOKEN_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"USDC_TOKEN_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VERIFIER_PROXY","outputs":[{"internalType":"contract IVerifierProxy","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint80","name":"_roundId","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceFeed","outputs":[{"internalType":"int192","name":"price","type":"int192"},{"internalType":"uint32","name":"timestamp","type":"uint32"},{"internalType":"uint32","name":"expiresAt","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"verifySignedReportRequest","type":"bytes"},{"internalType":"bytes","name":"parameterPayload","type":"bytes"}],"name":"updatePriceData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"}]Contract Creation Code
0x610140604052600361010052348015610016575f5ffd5b5060405161138d38038061138d83398101604081905261003591610243565b6001600160a01b038516610080576040516305519d6f60e51b815260206004820152600c60248201526b555344435f4164647265737360a01b60448201526064015b60405180910390fd5b6001600160a01b0386166100cc576040516305519d6f60e51b8152602060048201526012602482015271506169725f546f6b656e5f4164647265737360701b6044820152606401610077565b6001600160a01b038416610114576040516305519d6f60e51b815260206004820152600e60248201526d56657269666965725f50726f787960901b6044820152606401610077565b8261014c576040516305519d6f60e51b81526020600482015260076024820152661199595917d25960ca1b6044820152606401610077565b81515f03610189576040516305519d6f60e51b8152602060048201526009602482015268506169725f4e616d6560b81b6044820152606401610077565b8060ff165f036101c7576040516305519d6f60e51b8152602060048201526008602482015267446563696d616c7360c01b6044820152606401610077565b6001600160a01b0380861660a052868116608052841660c05260e08390525f6101f083826103de565b5060ff1661012052506104989350505050565b6001600160a01b0381168114610217575f5ffd5b50565b634e487b7160e01b5f52604160045260245ffd5b805160ff8116811461023e575f5ffd5b919050565b5f5f5f5f5f5f60c08789031215610258575f5ffd5b865161026381610203565b602088015190965061027481610203565b604088015190955061028581610203565b6060880151608089015191955093506001600160401b038111156102a7575f5ffd5b8701601f810189136102b7575f5ffd5b80516001600160401b038111156102d0576102d061021a565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102fe576102fe61021a565b6040528181528282016020018b1015610315575f5ffd5b5f5b8281101561033357602081850181015183830182015201610317565b505f6020838301015280945050505061034e60a0880161022e565b90509295509295509295565b600181811c9082168061036e57607f821691505b60208210810361038c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156103d957805f5260205f20601f840160051c810160208510156103b75750805b601f840160051c820191505b818110156103d6575f81556001016103c3565b50505b505050565b81516001600160401b038111156103f7576103f761021a565b61040b81610405845461035a565b84610392565b6020601f82116001811461043d575f83156104265750848201515b5f19600385901b1c1916600184901b1784556103d6565b5f84815260208120601f198516915b8281101561046c578785015182556020948501946001909201910161044c565b508482101561048957868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e0516101005161012051610e936104fa5f395f8181610128015261015e01525f818161021f015261051401525f818160ee01526106f801525f8181610316015261057b01525f6102ef01525f6102590152610e935ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c8063924ae32311610088578063bc1c3adf11610063578063bc1c3adf14610311578063e17c51ba14610338578063f3208a5014610340578063feaf968c14610353575f5ffd5b8063924ae323146102545780639a6fc8f5146102a0578063b3d673d8146102ea575f5ffd5b806354fd4d50116100c357806354fd4d50146101825780637284e41614610189578063741bef1a1461019e5780638a28f6b61461021a575f5ffd5b806301d61c49146100e95780632e0f262514610123578063313ce5671461015c575b5f5ffd5b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b61014a7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161011a565b7f000000000000000000000000000000000000000000000000000000000000000061014a565b6001610110565b61019161035b565b60405161011a9190610a24565b6001546101f390601781900b9063ffffffff780100000000000000000000000000000000000000000000000082048116917c010000000000000000000000000000000000000000000000000000000090041683565b6040805160179490940b845263ffffffff928316602085015291169082015260600161011a565b6102417f000000000000000000000000000000000000000000000000000000000000000081565b60405161ffff909116815260200161011a565b61027b7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011a565b6102b36102ae366004610a3d565b6103ea565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a00161011a565b61027b7f000000000000000000000000000000000000000000000000000000000000000081565b61027b7f000000000000000000000000000000000000000000000000000000000000000081565b610191610421565b61019161034e366004610b79565b6104ac565b6102b36108b7565b60605f805461036990610bde565b80601f016020809104026020016040519081016040528092919081815260200182805461039590610bde565b80156103e05780601f106103b7576101008083540402835291602001916103e0565b820191905f5260205f20905b8154815290600101906020018083116103c357829003601f168201915b5050505050905090565b5f5f5f5f5f6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805461042d90610bde565b80601f016020809104026020016040519081016040528092919081815260200182805461045990610bde565b80156104a45780601f1061047b576101008083540402835291602001916104a4565b820191905f5260205f20905b81548152906001019060200180831161048757829003601f168201915b505050505081565b60605f838060200190518101906104c39190610c79565b9150505f816001815181106104da576104da610d0f565b602001015160f81c60f81b60f81c60ff166008835f815181106104ff576104ff610d0f565b016020015160f81c901b17905061ffff8181167f000000000000000000000000000000000000000000000000000000000000000090911614610578576040517f431e9e0500000000000000000000000000000000000000000000000000000000815261ffff821660048201526024015b60405180910390fd5b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f7e83aee5f88886040518463ffffffff1660e01b81526004016105d5929190610d3c565b5f6040518083038185885af11580156105f0573d5f5f3e3d5ffd5b50505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526106369190810190610d69565b90505f5f5f5f5f858060200190518101906106519190610deb565b5050600154969b50949950929750919550919350505063ffffffff7801000000000000000000000000000000000000000000000000909104811690841610156106f6576001546040517f3b799828000000000000000000000000000000000000000000000000000000008152780100000000000000000000000000000000000000000000000090910463ffffffff90811660048301528416602482015260440161056f565b7f0000000000000000000000000000000000000000000000000000000000000000851461074f576040517fc2a25c1b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8363ffffffff1642108061076857508163ffffffff1642115b1561079f576040517f9bdc885700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051606081018252601783900b80825263ffffffff86811660208085018290529187169385018490526001805477ffffffffffffffffffffffffffffffffffffffffffffffff88167fffffffff00000000000000000000000000000000000000000000000000000000909116177801000000000000000000000000000000000000000000000000909202919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c01000000000000000000000000000000000000000000000000000000009094029390931790925591514280825292917f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f910160405180910390a350939998505050505050505050565b6001545f9081908190819081907801000000000000000000000000000000000000000000000000900463ffffffff16810361091e576040517f4d57188300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001547c0100000000000000000000000000000000000000000000000000000000900463ffffffff16421115610980576040517fd2bac7ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060015463ffffffff7801000000000000000000000000000000000000000000000000820416935060170b9150829050808091929394565b5f5b838110156109d35781810151838201526020016109bb565b50505f910152565b5f81518084526109f28160208601602086016109b9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081525f610a3660208301846109db565b9392505050565b5f60208284031215610a4d575f5ffd5b813569ffffffffffffffffffff81168114610a36575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610ada57610ada610a66565b604052919050565b5f67ffffffffffffffff821115610afb57610afb610a66565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f830112610b36575f5ffd5b8135610b49610b4482610ae2565b610a93565b818152846020838601011115610b5d575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215610b8a575f5ffd5b823567ffffffffffffffff811115610ba0575f5ffd5b610bac85828601610b27565b925050602083013567ffffffffffffffff811115610bc8575f5ffd5b610bd485828601610b27565b9150509250929050565b600181811c90821680610bf257607f821691505b602082108103610c29577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b5f82601f830112610c3e575f5ffd5b8151610c4c610b4482610ae2565b818152846020838601011115610c60575f5ffd5b610c718260208301602087016109b9565b949350505050565b5f5f60808385031215610c8a575f5ffd5b83601f840112610c98575f5ffd5b6040516060810167ffffffffffffffff81118282101715610cbb57610cbb610a66565b604052806060850186811115610ccf575f5ffd5b855b81811015610ce9578051835260209283019201610cd1565b50519193505067ffffffffffffffff811115610d03575f5ffd5b610bd485828601610c2f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b604081525f610d4e60408301856109db565b8281036020840152610d6081856109db565b95945050505050565b5f60208284031215610d79575f5ffd5b815167ffffffffffffffff811115610d8f575f5ffd5b610c7184828501610c2f565b805163ffffffff81168114610dae575f5ffd5b919050565b805177ffffffffffffffffffffffffffffffffffffffffffffffff81168114610dae575f5ffd5b8051601781900b8114610dae575f5ffd5b5f5f5f5f5f5f5f5f5f6101208a8c031215610e04575f5ffd5b89519850610e1460208b01610d9b565b9750610e2260408b01610d9b565b9650610e3060608b01610db3565b9550610e3e60808b01610db3565b9450610e4c60a08b01610d9b565b9350610e5a60c08b01610dda565b9250610e6860e08b01610dda565b9150610e776101008b01610dda565b9050929598509295985092959856fea164736f6c634300081c000a000000000000000000000000420000000000000000000000000000000000000600000000000000000000000079a02482a880bce3f13e09da970dc34db4cd24d10000000000000000000000006733e9106094b0c794e8e0297c96611ff60460bf000362205e10b3a147d02792eccee483dca6c7b44ecce7012cb8c6e0b68b3ae900000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000074554482f55534400000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c8063924ae32311610088578063bc1c3adf11610063578063bc1c3adf14610311578063e17c51ba14610338578063f3208a5014610340578063feaf968c14610353575f5ffd5b8063924ae323146102545780639a6fc8f5146102a0578063b3d673d8146102ea575f5ffd5b806354fd4d50116100c357806354fd4d50146101825780637284e41614610189578063741bef1a1461019e5780638a28f6b61461021a575f5ffd5b806301d61c49146100e95780632e0f262514610123578063313ce5671461015c575b5f5ffd5b6101107f000362205e10b3a147d02792eccee483dca6c7b44ecce7012cb8c6e0b68b3ae981565b6040519081526020015b60405180910390f35b61014a7f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff909116815260200161011a565b7f000000000000000000000000000000000000000000000000000000000000001261014a565b6001610110565b61019161035b565b60405161011a9190610a24565b6001546101f390601781900b9063ffffffff780100000000000000000000000000000000000000000000000082048116917c010000000000000000000000000000000000000000000000000000000090041683565b6040805160179490940b845263ffffffff928316602085015291169082015260600161011a565b6102417f000000000000000000000000000000000000000000000000000000000000000381565b60405161ffff909116815260200161011a565b61027b7f000000000000000000000000420000000000000000000000000000000000000681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011a565b6102b36102ae366004610a3d565b6103ea565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a00161011a565b61027b7f00000000000000000000000079a02482a880bce3f13e09da970dc34db4cd24d181565b61027b7f0000000000000000000000006733e9106094b0c794e8e0297c96611ff60460bf81565b610191610421565b61019161034e366004610b79565b6104ac565b6102b36108b7565b60605f805461036990610bde565b80601f016020809104026020016040519081016040528092919081815260200182805461039590610bde565b80156103e05780601f106103b7576101008083540402835291602001916103e0565b820191905f5260205f20905b8154815290600101906020018083116103c357829003601f168201915b5050505050905090565b5f5f5f5f5f6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805461042d90610bde565b80601f016020809104026020016040519081016040528092919081815260200182805461045990610bde565b80156104a45780601f1061047b576101008083540402835291602001916104a4565b820191905f5260205f20905b81548152906001019060200180831161048757829003601f168201915b505050505081565b60605f838060200190518101906104c39190610c79565b9150505f816001815181106104da576104da610d0f565b602001015160f81c60f81b60f81c60ff166008835f815181106104ff576104ff610d0f565b016020015160f81c901b17905061ffff8181167f000000000000000000000000000000000000000000000000000000000000000390911614610578576040517f431e9e0500000000000000000000000000000000000000000000000000000000815261ffff821660048201526024015b60405180910390fd5b5f7f0000000000000000000000006733e9106094b0c794e8e0297c96611ff60460bf73ffffffffffffffffffffffffffffffffffffffff1663f7e83aee5f88886040518463ffffffff1660e01b81526004016105d5929190610d3c565b5f6040518083038185885af11580156105f0573d5f5f3e3d5ffd5b50505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526106369190810190610d69565b90505f5f5f5f5f858060200190518101906106519190610deb565b5050600154969b50949950929750919550919350505063ffffffff7801000000000000000000000000000000000000000000000000909104811690841610156106f6576001546040517f3b799828000000000000000000000000000000000000000000000000000000008152780100000000000000000000000000000000000000000000000090910463ffffffff90811660048301528416602482015260440161056f565b7f000362205e10b3a147d02792eccee483dca6c7b44ecce7012cb8c6e0b68b3ae9851461074f576040517fc2a25c1b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8363ffffffff1642108061076857508163ffffffff1642115b1561079f576040517f9bdc885700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051606081018252601783900b80825263ffffffff86811660208085018290529187169385018490526001805477ffffffffffffffffffffffffffffffffffffffffffffffff88167fffffffff00000000000000000000000000000000000000000000000000000000909116177801000000000000000000000000000000000000000000000000909202919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c01000000000000000000000000000000000000000000000000000000009094029390931790925591514280825292917f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f910160405180910390a350939998505050505050505050565b6001545f9081908190819081907801000000000000000000000000000000000000000000000000900463ffffffff16810361091e576040517f4d57188300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001547c0100000000000000000000000000000000000000000000000000000000900463ffffffff16421115610980576040517fd2bac7ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505060015463ffffffff7801000000000000000000000000000000000000000000000000820416935060170b9150829050808091929394565b5f5b838110156109d35781810151838201526020016109bb565b50505f910152565b5f81518084526109f28160208601602086016109b9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081525f610a3660208301846109db565b9392505050565b5f60208284031215610a4d575f5ffd5b813569ffffffffffffffffffff81168114610a36575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610ada57610ada610a66565b604052919050565b5f67ffffffffffffffff821115610afb57610afb610a66565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f830112610b36575f5ffd5b8135610b49610b4482610ae2565b610a93565b818152846020838601011115610b5d575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215610b8a575f5ffd5b823567ffffffffffffffff811115610ba0575f5ffd5b610bac85828601610b27565b925050602083013567ffffffffffffffff811115610bc8575f5ffd5b610bd485828601610b27565b9150509250929050565b600181811c90821680610bf257607f821691505b602082108103610c29577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b5f82601f830112610c3e575f5ffd5b8151610c4c610b4482610ae2565b818152846020838601011115610c60575f5ffd5b610c718260208301602087016109b9565b949350505050565b5f5f60808385031215610c8a575f5ffd5b83601f840112610c98575f5ffd5b6040516060810167ffffffffffffffff81118282101715610cbb57610cbb610a66565b604052806060850186811115610ccf575f5ffd5b855b81811015610ce9578051835260209283019201610cd1565b50519193505067ffffffffffffffff811115610d03575f5ffd5b610bd485828601610c2f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b604081525f610d4e60408301856109db565b8281036020840152610d6081856109db565b95945050505050565b5f60208284031215610d79575f5ffd5b815167ffffffffffffffff811115610d8f575f5ffd5b610c7184828501610c2f565b805163ffffffff81168114610dae575f5ffd5b919050565b805177ffffffffffffffffffffffffffffffffffffffffffffffff81168114610dae575f5ffd5b8051601781900b8114610dae575f5ffd5b5f5f5f5f5f5f5f5f5f6101208a8c031215610e04575f5ffd5b89519850610e1460208b01610d9b565b9750610e2260408b01610d9b565b9650610e3060608b01610db3565b9550610e3e60808b01610db3565b9450610e4c60a08b01610d9b565b9350610e5a60c08b01610dda565b9250610e6860e08b01610dda565b9150610e776101008b01610dda565b9050929598509295985092959856fea164736f6c634300081c000a
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.