Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 436 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Submit Rate | 21620875 | 15 hrs ago | IN | 0.00000427 ETH | 0.00080558 | ||||
Submit Rate | 21613739 | 39 hrs ago | IN | 0.00000375 ETH | 0.00077799 | ||||
Submit Rate | 21606555 | 2 days ago | IN | 0.00000529 ETH | 0.00083222 | ||||
Submit Rate | 21599560 | 3 days ago | IN | 0.00000376 ETH | 0.00093848 | ||||
Submit Rate | 21592372 | 4 days ago | IN | 0.00000449 ETH | 0.00100964 | ||||
Submit Rate | 21585173 | 5 days ago | IN | 0.00000422 ETH | 0.00102219 | ||||
Submit Rate | 21577996 | 6 days ago | IN | 0.00000403 ETH | 0.00126739 | ||||
Submit Rate | 21570762 | 7 days ago | IN | 0.00000415 ETH | 0.00127377 | ||||
Submit Rate | 21563598 | 8 days ago | IN | 0.0000044 ETH | 0.00202838 | ||||
Submit Rate | 21556444 | 9 days ago | IN | 0.00000363 ETH | 0.00132492 | ||||
Submit Rate | 21549284 | 10 days ago | IN | 0.00000369 ETH | 0.00124404 | ||||
Submit Rate | 21542114 | 11 days ago | IN | 0.00000369 ETH | 0.0013644 | ||||
Submit Rate | 21534928 | 12 days ago | IN | 0.00000392 ETH | 0.00350273 | ||||
Submit Rate | 21527787 | 13 days ago | IN | 0.00000372 ETH | 0.000971 | ||||
Submit Rate | 21520609 | 14 days ago | IN | 0.00000362 ETH | 0.00163038 | ||||
Submit Rate | 21513456 | 15 days ago | IN | 0.00000362 ETH | 0.00098739 | ||||
Submit Rate | 21506277 | 16 days ago | IN | 0.00000362 ETH | 0.00107292 | ||||
Submit Rate | 21499104 | 17 days ago | IN | 0.00000362 ETH | 0.00100059 | ||||
Submit Rate | 21491957 | 18 days ago | IN | 0.00000362 ETH | 0.0011709 | ||||
Submit Rate | 21484787 | 19 days ago | IN | 0.00000362 ETH | 0.00150436 | ||||
Submit Rate | 21477640 | 20 days ago | IN | 0.00000363 ETH | 0.00127871 | ||||
Submit Rate | 21470483 | 21 days ago | IN | 0.00000363 ETH | 0.00127428 | ||||
Submit Rate | 21463378 | 22 days ago | IN | 0.00000366 ETH | 0.00112631 | ||||
Submit Rate | 21456198 | 23 days ago | IN | 0.00000366 ETH | 0.00137973 | ||||
Submit Rate | 21449064 | 24 days ago | IN | 0.00000366 ETH | 0.00175852 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
21620875 | 15 hrs ago | 0.00000427 ETH | ||||
21613739 | 39 hrs ago | 0.00000375 ETH | ||||
21606555 | 2 days ago | 0.00000529 ETH | ||||
21599560 | 3 days ago | 0.00000376 ETH | ||||
21592372 | 4 days ago | 0.00000449 ETH | ||||
21585173 | 5 days ago | 0.00000422 ETH | ||||
21577996 | 6 days ago | 0.00000403 ETH | ||||
21570762 | 7 days ago | 0.00000415 ETH | ||||
21563598 | 8 days ago | 0.0000044 ETH | ||||
21556444 | 9 days ago | 0.00000363 ETH | ||||
21549284 | 10 days ago | 0.00000369 ETH | ||||
21542114 | 11 days ago | 0.00000369 ETH | ||||
21534928 | 12 days ago | 0.00000392 ETH | ||||
21527787 | 13 days ago | 0.00000372 ETH | ||||
21520609 | 14 days ago | 0.00000362 ETH | ||||
21513456 | 15 days ago | 0.00000362 ETH | ||||
21506277 | 16 days ago | 0.00000362 ETH | ||||
21499104 | 17 days ago | 0.00000362 ETH | ||||
21491957 | 18 days ago | 0.00000362 ETH | ||||
21484787 | 19 days ago | 0.00000362 ETH | ||||
21477640 | 20 days ago | 0.00000363 ETH | ||||
21470483 | 21 days ago | 0.00000363 ETH | ||||
21463378 | 22 days ago | 0.00000366 ETH | ||||
21456198 | 23 days ago | 0.00000366 ETH | ||||
21449064 | 24 days ago | 0.00000366 ETH |
Loading...
Loading
Contract Name:
RocketScrollPriceMessenger
Compiler Version
v0.8.22+commit.4fc1097e
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.13; import "../lib/rocketpool/contracts/interface/RocketStorageInterface.sol"; import "../lib/rocketpool/contracts/interface/network/RocketNetworkBalancesInterface.sol"; import "./interfaces/scroll/IScrollMessenger.sol"; import "./RocketScrollPriceOracle.sol"; /// @author Kane Wallmann (Rocket Pool) /// @notice Retrieves the rETH exchange rate from Rocket Pool and submits it to the oracle contract on Scroll contract RocketScrollPriceMessenger { // Immutables IScrollMessenger immutable l1ScrollMessenger; RocketStorageInterface immutable rocketStorage; RocketScrollPriceOracle immutable rocketL2ScrollPriceOracle; bytes32 immutable rocketNetworkBalancesKey; /// @notice The most recently submitted rate uint256 lastRate; constructor(RocketStorageInterface _rocketStorage, RocketScrollPriceOracle _rocketL2ScrollPriceOracle, IScrollMessenger _l1ScrollMessenger) { rocketStorage = _rocketStorage; rocketL2ScrollPriceOracle = _rocketL2ScrollPriceOracle; l1ScrollMessenger = _l1ScrollMessenger; // Precompute storage key for RocketNetworkBalances address rocketNetworkBalancesKey = keccak256(abi.encodePacked("contract.address", "rocketNetworkBalances")); } /// @notice Returns whether the rate has changed since it was last submitted function rateStale() external view returns (bool) { return rate() != lastRate; } /// @notice Returns the calculated rETH exchange rate function rate() public view returns (uint256) { // Retrieve the inputs from RocketNetworkBalances and calculate the rate RocketNetworkBalancesInterface rocketNetworkBalances = RocketNetworkBalancesInterface(rocketStorage.getAddress(rocketNetworkBalancesKey)); uint256 supply = rocketNetworkBalances.getTotalRETHSupply(); if (supply == 0) { return 0; } return 1 ether * rocketNetworkBalances.getTotalETHBalance() / supply; } /// @notice Submits the current rETH exchange rate to the Scroll cross domain messenger contract function submitRate(uint256 _gasLimit) external payable { lastRate = rate(); // Create message payload bytes memory message = abi.encodeWithSelector( rocketL2ScrollPriceOracle.updateRate.selector, lastRate ); // Send the cross chain message l1ScrollMessenger.sendMessage{ value: msg.value }( address(rocketL2ScrollPriceOracle), 0, message, _gasLimit, msg.sender ); } }
pragma solidity >0.5.0 <0.9.0; // SPDX-License-Identifier: GPL-3.0-only interface RocketStorageInterface { // Deploy status function getDeployedStatus() external view returns (bool); // Guardian function getGuardian() external view returns(address); function setGuardian(address _newAddress) external; function confirmGuardian() external; // Getters function getAddress(bytes32 _key) external view returns (address); function getUint(bytes32 _key) external view returns (uint); function getString(bytes32 _key) external view returns (string memory); function getBytes(bytes32 _key) external view returns (bytes memory); function getBool(bytes32 _key) external view returns (bool); function getInt(bytes32 _key) external view returns (int); function getBytes32(bytes32 _key) external view returns (bytes32); // Setters function setAddress(bytes32 _key, address _value) external; function setUint(bytes32 _key, uint _value) external; function setString(bytes32 _key, string calldata _value) external; function setBytes(bytes32 _key, bytes calldata _value) external; function setBool(bytes32 _key, bool _value) external; function setInt(bytes32 _key, int _value) external; function setBytes32(bytes32 _key, bytes32 _value) external; // Deleters function deleteAddress(bytes32 _key) external; function deleteUint(bytes32 _key) external; function deleteString(bytes32 _key) external; function deleteBytes(bytes32 _key) external; function deleteBool(bytes32 _key) external; function deleteInt(bytes32 _key) external; function deleteBytes32(bytes32 _key) external; // Arithmetic function addUint(bytes32 _key, uint256 _amount) external; function subUint(bytes32 _key, uint256 _amount) external; // Protected storage function getNodeWithdrawalAddress(address _nodeAddress) external view returns (address); function getNodePendingWithdrawalAddress(address _nodeAddress) external view returns (address); function setWithdrawalAddress(address _nodeAddress, address _newWithdrawalAddress, bool _confirm) external; function confirmWithdrawalAddress(address _nodeAddress) external; }
pragma solidity >0.5.0 <0.9.0; // SPDX-License-Identifier: GPL-3.0-only interface RocketNetworkBalancesInterface { function getBalancesBlock() external view returns (uint256); function getLatestReportableBlock() external view returns (uint256); function getTotalETHBalance() external view returns (uint256); function getStakingETHBalance() external view returns (uint256); function getTotalRETHSupply() external view returns (uint256); function getETHUtilizationRate() external view returns (uint256); function submitBalances(uint256 _block, uint256 _total, uint256 _staking, uint256 _rethSupply) external; function executeUpdateBalances(uint256 _block, uint256 _totalEth, uint256 _stakingEth, uint256 _rethSupply) external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IScrollMessenger { /********** * Events * **********/ /// @notice Emitted when a cross domain message is sent. /// @param sender The address of the sender who initiates the message. /// @param target The address of target contract to call. /// @param value The amount of value passed to the target contract. /// @param messageNonce The nonce of the message. /// @param gasLimit The optional gas limit passed to L1 or L2. /// @param message The calldata passed to the target contract. event SentMessage( address indexed sender, address indexed target, uint256 value, uint256 messageNonce, uint256 gasLimit, bytes message ); /// @notice Emitted when a cross domain message is relayed successfully. /// @param messageHash The hash of the message. event RelayedMessage(bytes32 indexed messageHash); /// @notice Emitted when a cross domain message is failed to relay. /// @param messageHash The hash of the message. event FailedRelayedMessage(bytes32 indexed messageHash); /************************* * Public View Functions * *************************/ /// @notice Return the sender of a cross domain message. function xDomainMessageSender() external view returns (address); /**************************** * Public Mutated Functions * ****************************/ /// @notice Send cross chain message from L1 to L2 or L2 to L1. /// @param target The address of account who recieve the message. /// @param value The amount of ether passed when call target contract. /// @param message The content of the message. /// @param gasLimit Gas limit required to complete the message relay on corresponding chain. function sendMessage( address target, uint256 value, bytes calldata message, uint256 gasLimit ) external payable; /// @notice Send cross chain message from L1 to L2 or L2 to L1. /// @param target The address of account who receive the message. /// @param value The amount of ether passed when call target contract. /// @param message The content of the message. /// @param gasLimit Gas limit required to complete the message relay on corresponding chain. /// @param refundAddress The address of account who will receive the refunded fee. function sendMessage( address target, uint256 value, bytes calldata message, uint256 gasLimit, address refundAddress ) external payable; }
// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.13; import "./interfaces/scroll/IScrollMessenger.sol"; /// @author Kane Wallmann (Rocket Pool) /// @notice Receives updates from L1 on the canonical rETH exchange rate contract RocketScrollPriceOracle { // Events event RateUpdated(uint256 rate); // Immutables IScrollMessenger internal immutable scrollMessenger; /// @notice The rETH exchange rate in the form of how much ETH 1 rETH is worth uint256 public rate; /// @notice The timestamp of the block in which the rate was last updated uint256 public lastUpdated; /// @notice Set to the contract on L1 that has permission to update the rate address public owner; constructor(address _scrollMessenger) { scrollMessenger = IScrollMessenger(_scrollMessenger); owner = msg.sender; } /// @notice Hands ownership to the L1 price messenger contract function setOwner(address _newOwner) external { require(msg.sender == owner, "Only owner"); owner = _newOwner; } /// @notice Called by the messenger contract on L1 to update the exchange rate function updateRate(uint256 _newRate) external { // Only calls originating from L1 owner can update the rate require( msg.sender == address(scrollMessenger) && scrollMessenger.xDomainMessageSender() == owner, "Only owner" ); // Set rate and last updated timestamp rate = _newRate; lastUpdated = block.timestamp; // Emit event emit RateUpdated(_newRate); } }
{ "remappings": [], "optimizer": { "enabled": true, "runs": 20000 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs" }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "evmVersion": "shanghai", "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract RocketStorageInterface","name":"_rocketStorage","type":"address"},{"internalType":"contract RocketScrollPriceOracle","name":"_rocketL2ScrollPriceOracle","type":"address"},{"internalType":"contract IScrollMessenger","name":"_l1ScrollMessenger","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rateStale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_gasLimit","type":"uint256"}],"name":"submitRate","outputs":[],"stateMutability":"payable","type":"function"}]
Contract Creation Code
610100604052348015610010575f80fd5b506040516106d63803806106d683398101604081905261002f916100c4565b6001600160a01b0392831660a05290821660c05216608052604080516f636f6e74726163742e6164647265737360801b6020828101919091527f726f636b65744e6574776f726b42616c616e63657300000000000000000000006030830152825160258184030181526045909201909252805191012060e05261010e565b6001600160a01b03811681146100c1575f80fd5b50565b5f805f606084860312156100d6575f80fd5b83516100e1816100ad565b60208501519093506100f2816100ad565b6040850151909250610103816100ad565b809150509250925092565b60805160a05160c05160e05161059761013f5f395f60bf01525f61035301525f60fe01525f61030f01526105975ff3fe608060405260043610610033575f3560e01c80632c4e722e14610037578063b9da15e51461005e578063ee0eb4a114610073575b5f80fd5b348015610042575f80fd5b5061004b610097565b6040519081526020015b60405180910390f35b61007161006c3660046103c6565b610279565b005b34801561007e575f80fd5b506100876103b4565b6040519015158152602001610055565b6040517f21f8a7210000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201525f90819073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906321f8a72190602401602060405180830381865afa158015610143573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061016791906103dd565b90505f8173ffffffffffffffffffffffffffffffffffffffff1663c4c8d0ad6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d79190610417565b9050805f036101e8575f9250505090565b808273ffffffffffffffffffffffffffffffffffffffff1663964d042c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610232573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102569190610417565b61026890670de0b6b3a764000061042e565b6102729190610470565b9250505090565b610281610097565b5f818155604080516024808201949094528151808203909401845260440181526020830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f69ea177100000000000000000000000000000000000000000000000000000000179052517f5f7b15770000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1691635f7b1577913491610382917f000000000000000000000000000000000000000000000000000000000000000091908790899033906004016104a8565b5f604051808303818588803b158015610399575f80fd5b505af11580156103ab573d5f803e3d5ffd5b50505050505050565b5f80546103bf610097565b1415905090565b5f602082840312156103d6575f80fd5b5035919050565b5f602082840312156103ed575f80fd5b815173ffffffffffffffffffffffffffffffffffffffff81168114610410575f80fd5b9392505050565b5f60208284031215610427575f80fd5b5051919050565b808202811582820484141761046a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b5f826104a3577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b73ffffffffffffffffffffffffffffffffffffffff861681525f602086602084015260a0604084015285518060a08501525f5b818110156104f75787810183015185820160c0015282016104db565b505f60c0828601015260c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010192505050836060830152610557608083018473ffffffffffffffffffffffffffffffffffffffff169052565b969550505050505056fea264697066735822122053f8a18389e82330ec13ec25c97fa0e6916a5b74b2ec9ed636e660f6eb90b50764736f6c634300081600330000000000000000000000001d8f8f00cfa6758d7be78336684788fb0ee0fa4600000000000000000000000030a593876596d347fbba2b5883651b6b1dceccf70000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b367
Deployed Bytecode
0x608060405260043610610033575f3560e01c80632c4e722e14610037578063b9da15e51461005e578063ee0eb4a114610073575b5f80fd5b348015610042575f80fd5b5061004b610097565b6040519081526020015b60405180910390f35b61007161006c3660046103c6565b610279565b005b34801561007e575f80fd5b506100876103b4565b6040519015158152602001610055565b6040517f21f8a7210000000000000000000000000000000000000000000000000000000081527f7630e125f1c009e5fc974f6dae77c6d5b1802979b36e6d7145463c21782af01e60048201525f90819073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000001d8f8f00cfa6758d7be78336684788fb0ee0fa4616906321f8a72190602401602060405180830381865afa158015610143573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061016791906103dd565b90505f8173ffffffffffffffffffffffffffffffffffffffff1663c4c8d0ad6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101d79190610417565b9050805f036101e8575f9250505090565b808273ffffffffffffffffffffffffffffffffffffffff1663964d042c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610232573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102569190610417565b61026890670de0b6b3a764000061042e565b6102729190610470565b9250505090565b610281610097565b5f818155604080516024808201949094528151808203909401845260440181526020830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f69ea177100000000000000000000000000000000000000000000000000000000179052517f5f7b15770000000000000000000000000000000000000000000000000000000081527f0000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b36773ffffffffffffffffffffffffffffffffffffffff1691635f7b1577913491610382917f00000000000000000000000030a593876596d347fbba2b5883651b6b1dceccf791908790899033906004016104a8565b5f604051808303818588803b158015610399575f80fd5b505af11580156103ab573d5f803e3d5ffd5b50505050505050565b5f80546103bf610097565b1415905090565b5f602082840312156103d6575f80fd5b5035919050565b5f602082840312156103ed575f80fd5b815173ffffffffffffffffffffffffffffffffffffffff81168114610410575f80fd5b9392505050565b5f60208284031215610427575f80fd5b5051919050565b808202811582820484141761046a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b5f826104a3577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b73ffffffffffffffffffffffffffffffffffffffff861681525f602086602084015260a0604084015285518060a08501525f5b818110156104f75787810183015185820160c0015282016104db565b505f60c0828601015260c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010192505050836060830152610557608083018473ffffffffffffffffffffffffffffffffffffffff169052565b969550505050505056fea264697066735822122053f8a18389e82330ec13ec25c97fa0e6916a5b74b2ec9ed636e660f6eb90b50764736f6c63430008160033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001d8f8f00cfa6758d7be78336684788fb0ee0fa4600000000000000000000000030a593876596d347fbba2b5883651b6b1dceccf70000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b367
-----Decoded View---------------
Arg [0] : _rocketStorage (address): 0x1d8f8f00cfa6758d7bE78336684788Fb0ee0Fa46
Arg [1] : _rocketL2ScrollPriceOracle (address): 0x30A593876596d347fbba2b5883651B6B1dcecCf7
Arg [2] : _l1ScrollMessenger (address): 0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000001d8f8f00cfa6758d7be78336684788fb0ee0fa46
Arg [1] : 00000000000000000000000030a593876596d347fbba2b5883651b6b1dceccf7
Arg [2] : 0000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b367
Deployed Bytecode Sourcemap
471:2173:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1538:487;;;;;;;;;;;;;:::i;:::-;;;160:25:5;;;148:2;133:18;1538:487:2;;;;;;;;2132:510;;;;;;:::i;:::-;;:::i;:::-;;1382:92;;;;;;;;;;;;;:::i;:::-;;;546:14:5;;539:22;521:41;;509:2;494:18;1382:92:2;381:187:5;1538:487:2;1761:50;;;;;1786:24;1761:50;;;160:25:5;1575:7:2;;;;1761:24;:13;:24;;;;133:18:5;;1761:50:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1675:137;;1822:14;1839:21;:40;;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1822:59;;1895:6;1905:1;1895:11;1891:50;;1929:1;1922:8;;;;1538:487;:::o;1891:50::-;2012:6;1967:21;:40;;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1957:52;;:7;:52;:::i;:::-;:61;;;;:::i;:::-;1950:68;;;;1538:487;:::o;2132:510::-;2209:6;:4;:6::i;:::-;2198:8;:17;;;2282:113;;;;;;;160:25:5;;;;2282:113:2;;;;;;;;;;133:18:5;;2282:113:2;;;;;;;;;2318:45;2282:113;;;2445:190;;;;:17;:29;;;;;2483:9;;2445:190;;2516:25;;2198:8;2282:113;;2592:9;;2615:10;;2445:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2188:454;2132:510;:::o;1382:92::-;1426:4;1459:8;;1449:6;:4;:6::i;:::-;:18;;1442:25;;1382:92;:::o;196:180:5:-;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:5;;196:180;-1:-1:-1;196:180:5:o;755:313::-;825:6;878:2;866:9;857:7;853:23;849:32;846:52;;;894:1;891;884:12;846:52;926:9;920:16;976:42;969:5;965:54;958:5;955:65;945:93;;1034:1;1031;1024:12;945:93;1057:5;755:313;-1:-1:-1;;;755:313:5:o;1073:184::-;1143:6;1196:2;1184:9;1175:7;1171:23;1167:32;1164:52;;;1212:1;1209;1202:12;1164:52;-1:-1:-1;1235:16:5;;1073:184;-1:-1:-1;1073:184:5:o;1262:322::-;1335:9;;;1366;;1383:15;;;1377:22;;1363:37;1353:225;;1434:77;1431:1;1424:88;1535:4;1532:1;1525:15;1563:4;1560:1;1553:15;1353:225;1262:322;;;;:::o;1589:274::-;1629:1;1655;1645:189;;1690:77;1687:1;1680:88;1791:4;1788:1;1781:15;1819:4;1816:1;1809:15;1645:189;-1:-1:-1;1848:9:5;;1589:274::o;2000:964::-;2279:42;2271:6;2267:55;2256:9;2249:74;2230:4;2342:2;2380:6;2375:2;2364:9;2360:18;2353:34;2423:3;2418:2;2407:9;2403:18;2396:31;2456:6;2450:13;2500:6;2494:3;2483:9;2479:19;2472:35;2525:1;2535:141;2549:6;2546:1;2543:13;2535:141;;;2645:14;;;2641:23;;2635:30;2610:17;;;2629:3;2606:27;2599:67;2564:10;;2535:141;;;2539:3;2726:1;2720:3;2711:6;2700:9;2696:22;2692:32;2685:43;2855:3;2785:66;2780:2;2772:6;2768:15;2764:88;2753:9;2749:104;2745:114;2737:122;;;;2895:6;2890:2;2879:9;2875:18;2868:34;2911:47;2953:3;2942:9;2938:19;2930:6;1945:42;1934:54;1922:67;;1868:127;2911:47;2000:964;;;;;;;;:::o
Swarm Source
ipfs://53f8a18389e82330ec13ec25c97fa0e6916a5b74b2ec9ed636e660f6eb90b507
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.