Latest 25 from a total of 171 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Rebuild Caches | 133489799 | 27 days ago | IN | 0 ETH | 0.000000225206 | ||||
Rebuild Caches | 118919732 | 364 days ago | IN | 0 ETH | 0.000028721775 | ||||
Rebuild Caches | 116830477 | 412 days ago | IN | 0 ETH | 0.00012610609 | ||||
Rebuild Caches | 116830128 | 412 days ago | IN | 0 ETH | 0.000130819243 | ||||
Rebuild Caches | 116829806 | 412 days ago | IN | 0 ETH | 0.000138796603 | ||||
Rebuild Caches | 116829496 | 412 days ago | IN | 0 ETH | 0.000138756626 | ||||
Rebuild Caches | 115253868 | 449 days ago | IN | 0 ETH | 0.000054350336 | ||||
Rebuild Caches | 115253453 | 449 days ago | IN | 0 ETH | 0.000055620329 | ||||
Rebuild Caches | 113097689 | 499 days ago | IN | 0 ETH | 0.000236043084 | ||||
Rebuild Caches | 113097303 | 499 days ago | IN | 0 ETH | 0.000225470126 | ||||
Rebuild Caches | 113096941 | 499 days ago | IN | 0 ETH | 0.000232709435 | ||||
Rebuild Caches | 113096533 | 499 days ago | IN | 0 ETH | 0.000204054336 | ||||
Rebuild Caches | 113096191 | 499 days ago | IN | 0 ETH | 0.000190133861 | ||||
Rebuild Caches | 113067992 | 499 days ago | IN | 0 ETH | 0.000170314192 | ||||
Rebuild Caches | 113067576 | 500 days ago | IN | 0 ETH | 0.000170289097 | ||||
Rebuild Caches | 113067213 | 500 days ago | IN | 0 ETH | 0.000186151011 | ||||
Rebuild Caches | 113066863 | 500 days ago | IN | 0 ETH | 0.000243086203 | ||||
Rebuild Caches | 113066057 | 500 days ago | IN | 0 ETH | 0.000278376081 | ||||
Rebuild Caches | 113065692 | 500 days ago | IN | 0 ETH | 0.000240285474 | ||||
Rebuild Caches | 113065323 | 500 days ago | IN | 0 ETH | 0.000264436993 | ||||
Rebuild Caches | 113064963 | 500 days ago | IN | 0 ETH | 0.000271476246 | ||||
Rebuild Caches | 109259741 | 588 days ago | IN | 0 ETH | 0.000081736556 | ||||
Rebuild Caches | 109259392 | 588 days ago | IN | 0 ETH | 0.00009498272 | ||||
Rebuild Caches | 109259024 | 588 days ago | IN | 0 ETH | 0.000076980397 | ||||
Rebuild Caches | 109256248 | 588 days ago | IN | 0 ETH | 0.00009564959 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
107558382 | 627 days ago | 0 ETH | ||||
107558344 | 627 days ago | 0 ETH | ||||
107558344 | 627 days ago | 0 ETH | ||||
107558344 | 627 days ago | 0 ETH | ||||
107558344 | 627 days ago | 0 ETH | ||||
107558344 | 627 days ago | 0 ETH | ||||
107558344 | 627 days ago | 0 ETH | ||||
107558344 | 627 days ago | 0 ETH | ||||
107558344 | 627 days ago | 0 ETH | ||||
107558344 | 627 days ago | 0 ETH | ||||
107558306 | 627 days ago | 0 ETH | ||||
107558293 | 627 days ago | 0 ETH | ||||
107558282 | 627 days ago | 0 ETH | ||||
107558272 | 627 days ago | 0 ETH | ||||
107558272 | 627 days ago | 0 ETH | ||||
107558272 | 627 days ago | 0 ETH | ||||
107558272 | 627 days ago | 0 ETH | ||||
107558272 | 627 days ago | 0 ETH | ||||
107558272 | 627 days ago | 0 ETH | ||||
107558272 | 627 days ago | 0 ETH | ||||
107558268 | 627 days ago | 0 ETH | ||||
107558260 | 627 days ago | 0 ETH | ||||
107558212 | 627 days ago | 0 ETH | ||||
107558212 | 627 days ago | 0 ETH | ||||
107558185 | 627 days ago | 0 ETH |
Loading...
Loading
Contract Source Code Verified (Genesis Bytecode Match Only)
Contract Name:
AddressResolver
Compiler Version
v0.5.16
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at optimistic.etherscan.io on 2021-08-25 */ /* ____ __ __ __ _ / __/__ __ ___ / /_ / / ___ / /_ (_)__ __ _\ \ / // // _ \/ __// _ \/ -_)/ __// / \ \ / /___/ \_, //_//_/\__//_//_/\__/ \__//_/ /_\_\ /___/ * Synthetix: AddressResolver.sol * * Latest source (may be newer): https://github.com/Synthetixio/synthetix/blob/master/contracts/AddressResolver.sol * Docs: https://docs.synthetix.io/contracts/AddressResolver * * Contract Dependencies: * - IAddressResolver * - Owned * Libraries: (none) * * MIT License * =========== * * Copyright (c) 2021 Synthetix * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE */ pragma solidity ^0.5.16; // https://docs.synthetix.io/contracts/source/contracts/owned contract Owned { address public owner; address public nominatedOwner; constructor(address _owner) public { require(_owner != address(0), "Owner address cannot be 0"); owner = _owner; emit OwnerChanged(address(0), _owner); } function nominateNewOwner(address _owner) external onlyOwner { nominatedOwner = _owner; emit OwnerNominated(_owner); } function acceptOwnership() external { require(msg.sender == nominatedOwner, "You must be nominated before you can accept ownership"); emit OwnerChanged(owner, nominatedOwner); owner = nominatedOwner; nominatedOwner = address(0); } modifier onlyOwner { _onlyOwner(); _; } function _onlyOwner() private view { require(msg.sender == owner, "Only the contract owner may perform this action"); } event OwnerNominated(address newOwner); event OwnerChanged(address oldOwner, address newOwner); } // https://docs.synthetix.io/contracts/source/interfaces/iaddressresolver interface IAddressResolver { function getAddress(bytes32 name) external view returns (address); function getSynth(bytes32 key) external view returns (address); function requireAndGetAddress(bytes32 name, string calldata reason) external view returns (address); } // https://docs.synthetix.io/contracts/source/interfaces/isynth interface ISynth { // Views function currencyKey() external view returns (bytes32); function transferableSynths(address account) external view returns (uint); // Mutative functions function transferAndSettle(address to, uint value) external returns (bool); function transferFromAndSettle( address from, address to, uint value ) external returns (bool); // Restricted: used internally to Synthetix function burn(address account, uint amount) external; function issue(address account, uint amount) external; } // https://docs.synthetix.io/contracts/source/interfaces/iissuer interface IIssuer { // Views function anySynthOrSNXRateIsInvalid() external view returns (bool anyRateInvalid); function availableCurrencyKeys() external view returns (bytes32[] memory); function availableSynthCount() external view returns (uint); function availableSynths(uint index) external view returns (ISynth); function canBurnSynths(address account) external view returns (bool); function collateral(address account) external view returns (uint); function collateralisationRatio(address issuer) external view returns (uint); function collateralisationRatioAndAnyRatesInvalid(address _issuer) external view returns (uint cratio, bool anyRateIsInvalid); function debtBalanceOf(address issuer, bytes32 currencyKey) external view returns (uint debtBalance); function issuanceRatio() external view returns (uint); function lastIssueEvent(address account) external view returns (uint); function maxIssuableSynths(address issuer) external view returns (uint maxIssuable); function minimumStakeTime() external view returns (uint); function remainingIssuableSynths(address issuer) external view returns ( uint maxIssuable, uint alreadyIssued, uint totalSystemDebt ); function synths(bytes32 currencyKey) external view returns (ISynth); function getSynths(bytes32[] calldata currencyKeys) external view returns (ISynth[] memory); function synthsByAddress(address synthAddress) external view returns (bytes32); function totalIssuedSynths(bytes32 currencyKey, bool excludeOtherCollateral) external view returns (uint); function transferableSynthetixAndAnyRateIsInvalid(address account, uint balance) external view returns (uint transferable, bool anyRateIsInvalid); // Restricted: used internally to Synthetix function issueSynths(address from, uint amount) external; function issueSynthsOnBehalf( address issueFor, address from, uint amount ) external; function issueMaxSynths(address from) external; function issueMaxSynthsOnBehalf(address issueFor, address from) external; function burnSynths(address from, uint amount) external; function burnSynthsOnBehalf( address burnForAddress, address from, uint amount ) external; function burnSynthsToTarget(address from) external; function burnSynthsToTargetOnBehalf(address burnForAddress, address from) external; function burnForRedemption( ISynth deprecatedSynth, address account, uint balance ) external; function liquidateDelinquentAccount( address account, uint susdAmount, address liquidator ) external returns (uint totalRedeemed, uint amountToLiquidate); } // Internal references // https://docs.synthetix.io/contracts/source/contracts/mixinresolver contract MixinResolver { AddressResolver public resolver; mapping(bytes32 => address) private addressCache; constructor(address _resolver) internal { resolver = AddressResolver(_resolver); } /* ========== INTERNAL FUNCTIONS ========== */ function combineArrays(bytes32[] memory first, bytes32[] memory second) internal pure returns (bytes32[] memory combination) { combination = new bytes32[](first.length + second.length); for (uint i = 0; i < first.length; i++) { combination[i] = first[i]; } for (uint j = 0; j < second.length; j++) { combination[first.length + j] = second[j]; } } /* ========== PUBLIC FUNCTIONS ========== */ // Note: this function is public not external in order for it to be overridden and invoked via super in subclasses function resolverAddressesRequired() public view returns (bytes32[] memory addresses) {} function rebuildCache() public { bytes32[] memory requiredAddresses = resolverAddressesRequired(); // The resolver must call this function whenver it updates its state for (uint i = 0; i < requiredAddresses.length; i++) { bytes32 name = requiredAddresses[i]; // Note: can only be invoked once the resolver has all the targets needed added address destination = resolver.requireAndGetAddress(name, string(abi.encodePacked("Resolver missing target: ", name))); addressCache[name] = destination; emit CacheUpdated(name, destination); } } /* ========== VIEWS ========== */ function isResolverCached() external view returns (bool) { bytes32[] memory requiredAddresses = resolverAddressesRequired(); for (uint i = 0; i < requiredAddresses.length; i++) { bytes32 name = requiredAddresses[i]; // false if our cache is invalid or if the resolver doesn't have the required address if (resolver.getAddress(name) != addressCache[name] || addressCache[name] == address(0)) { return false; } } return true; } /* ========== INTERNAL FUNCTIONS ========== */ function requireAndGetAddress(bytes32 name) internal view returns (address) { address _foundAddress = addressCache[name]; require(_foundAddress != address(0), string(abi.encodePacked("Missing address: ", name))); return _foundAddress; } /* ========== EVENTS ========== */ event CacheUpdated(bytes32 name, address destination); } // Inheritance // Internal references // https://docs.synthetix.io/contracts/source/contracts/addressresolver contract AddressResolver is Owned, IAddressResolver { mapping(bytes32 => address) public repository; constructor(address _owner) public Owned(_owner) {} /* ========== RESTRICTED FUNCTIONS ========== */ function importAddresses(bytes32[] calldata names, address[] calldata destinations) external onlyOwner { require(names.length == destinations.length, "Input lengths must match"); for (uint i = 0; i < names.length; i++) { bytes32 name = names[i]; address destination = destinations[i]; repository[name] = destination; emit AddressImported(name, destination); } } /* ========= PUBLIC FUNCTIONS ========== */ function rebuildCaches(MixinResolver[] calldata destinations) external { for (uint i = 0; i < destinations.length; i++) { destinations[i].rebuildCache(); } } /* ========== VIEWS ========== */ function areAddressesImported(bytes32[] calldata names, address[] calldata destinations) external view returns (bool) { for (uint i = 0; i < names.length; i++) { if (repository[names[i]] != destinations[i]) { return false; } } return true; } function getAddress(bytes32 name) external view returns (address) { return repository[name]; } function requireAndGetAddress(bytes32 name, string calldata reason) external view returns (address) { address _foundAddress = repository[name]; require(_foundAddress != address(0), reason); return _foundAddress; } function getSynth(bytes32 key) external view returns (address) { IIssuer issuer = IIssuer(repository["Issuer"]); require(address(issuer) != address(0), "Cannot find Issuer address"); return address(issuer.synths(key)); } /* ========== EVENTS ========== */ event AddressImported(bytes32 name, address destination); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"},{"indexed":false,"internalType":"address","name":"destination","type":"address"}],"name":"AddressImported","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32[]","name":"names","type":"bytes32[]"},{"internalType":"address[]","name":"destinations","type":"address[]"}],"name":"areAddressesImported","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"name","type":"bytes32"}],"name":"getAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"getSynth","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32[]","name":"names","type":"bytes32[]"},{"internalType":"address[]","name":"destinations","type":"address[]"}],"name":"importAddresses","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract MixinResolver[]","name":"destinations","type":"address[]"}],"name":"rebuildCaches","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"repository","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"reason","type":"string"}],"name":"requireAndGetAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
8060405234801561001957600080610016610c18565b50505b50600436106100b25760003560e01c8063766f78151161007a578063766f78151461018757806379ba5097146102195780638da5cb5b146102215780639f42102f14610229578063ab0b8f771461033a578063dacb2d0114610437576100b2565b80631627540c146100c0578063187f7935146100f157806321f8a72114610133578063514560611461015957806353a47bb71461017f575b6000806100bd610c18565b50505b6100ef600480360360208110156100df576000806100dc610c18565b50505b50356001600160a01b03166104d0565b005b610117600480360360208110156101105760008061010d610c18565b50505b503561054a565b6040516001600160a01b03909116815260200160405180910390f35b610117600480360360208110156101525760008061014f610c18565b50505b5035610577565b6101176004803603602081101561017857600080610175610c18565b50505b50356105a7565b6101176106e8565b6100ef600480360360208110156101a6576000806101a3610c18565b50505b810190602081018135600160201b8111156101c9576000806101c6610c18565b50505b8201836020820111156101e4576000806101e1610c18565b50505b803590602001918460208302840111600160201b8311171561020e5760008061020b610c18565b50505b5090925090506106f4565b6100ef6107a4565b610117610922565b6103266004803603604081101561024857600080610245610c18565b50505b810190602081018135600160201b81111561026b57600080610268610c18565b50505b82018360208201111561028657600080610283610c18565b50505b803590602001918460208302840111600160201b831117156102b0576000806102ad610c18565b50505b919390929091602081019035600160201b8111156102d6576000806102d3610c18565b50505b8201836020820111156102f1576000806102ee610c18565b50505b803590602001918460208302840111600160201b8311171561031b57600080610318610c18565b50505b50909250905061092d565b604051901515815260200160405180910390f35b6100ef6004803603604081101561035957600080610356610c18565b50505b810190602081018135600160201b81111561037c57600080610379610c18565b50505b82018360208201111561039757600080610394610c18565b50505b803590602001918460208302840111600160201b831117156103c1576000806103be610c18565b50505b919390929091602081019035600160201b8111156103e7576000806103e4610c18565b50505b820183602082011115610402576000806103ff610c18565b50505b803590602001918460208302840111600160201b8311171561042c57600080610429610c18565b50505b5090925090506109cc565b6101176004803603604081101561045657600080610453610c18565b50505b81359190810190604081016020820135600160201b8111156104805760008061047d610c18565b50505b82018360208201111561049b57600080610498610c18565b50505b803590602001918460018302840111600160201b831117156104c5576000806104c2610c18565b50505b509092509050610b0a565b6104d8610b9b565b80600180806104e5610c83565b816001600160a01b0302191690836001600160a01b0316021790610507610cde565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b600260205280600052604060002060009150610564610c83565b906101000a90046001600160a01b031681565b6000818152600260205260408120600090610590610c83565b906101000a90046001600160a01b03169050919050565b6524b9b9bab2b960d11b6000908152600260205280604081206000906105cb610c83565b6001600160a01b036101009290920a9004169050806106395760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015260640160405180910390610636610c18565b50505b806001600160a01b03166332608039846040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061067b610d2c565b1580156106905760008061068d610c18565b50505b505a61069a610d78565b50505050501580156106b9573d6000803e3d60006106b6610c18565b50505b505050506040513d60208110156106d8576000806106d5610c18565b50505b8101908080519695505050505050565b60006001610564610c83565b60005b8181101561079f5782828281811061070b57fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b815260040160006040518083038160008780610750610d2c565b15801561076557600080610762610c18565b50505b505a61076f610e65565b50505050505015801561078f573d6000803e3d600061078c610c18565b50505b5050600190920191506106f79050565b505050565b600060016107b0610c83565b906101000a90046001600160a01b03166001600160a01b03165a6107d2610f2b565b6001600160a01b0316146108205760405162461bcd60e51b8152600401808060200182810382526035815260200180610f72603591396040019150506040518091039061081d610c18565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061084c610c83565b906101000a90046001600160a01b03166001600090610869610c83565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016108a8610c83565b906101000a90046001600160a01b03166000806101000a816108c8610c83565b816001600160a01b0302191690836001600160a01b03160217906108ea610cde565b5050506000600160006101000a81610900610c83565b816001600160a01b0302191690836001600160a01b031602179061079f610cde565b600080610564610c83565b6000805b848110156109be5783838281811061094557fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061096e57fe5b90506020020135815260200190815260200160002060009061098e610c83565b906101000a90046001600160a01b03166001600160a01b0316146109b65760009150506109c4565b600101610931565b50600190505b949350505050565b6109d4610b9b565b828114610a305760405162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015260640160405180910390610a2d610c18565b50505b60005b83811015610b03576000858583818110610a4957fe5b9050602002013590506000848484818110610a6057fe5b905060200201356001600160a01b031690508060026000848152602001908152602001600020600181610a91610c83565b816001600160a01b0302191690836001600160a01b0316021790610ab3610cde565b5050507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9182826040519182526001600160a01b031660208201526040908101905180910390a15050600101610a33565b5050505050565b600083815260026020528060408120600090610b24610c83565b6001600160a01b036101009290920a9004169050838382610b905760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152601f01601f19169091019450604093505050505180910390610b8d610c18565b50505b509095945050505050565b600080610ba6610c83565b906101000a90046001600160a01b03166001600160a01b03165a610bc8610f2b565b6001600160a01b031614610c165760405162461bcd60e51b815260040180806020018281038252602f815260200180610fa7602f913960400191505060405180910390610c13610c18565b50505b565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015610c50578086015182820160400152602001610c35565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561079f57600082820152602001610cc7565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020610cc7565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020610cc7565b638540661f598160e01b8152610dab565b8080831115610d955750815b92915050565b8080831015610d95575090919050565b836004820152846024820152606060448201528660648201526084810160005b88811015610de3578088015182820152602001610dcb565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059610e388d3d610d9b565b8c01610e448187610d89565b5b82811015610e595760008152602001610e45565b50929c50505050505050565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b89811015610ea9578089015182820152602001610e91565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059610efe8e3d610d9b565b8d01610f0a8187610d89565b5b82811015610f1f5760008152602001610f0b565b50929d50505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020610cc756fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063766f781511610071578063766f78151461015157806379ba5097146101bf5780638da5cb5b146101c75780639f42102f146101cf578063ab0b8f77146102a1578063dacb2d011461035f576100a9565b80631627540c146100ae578063187f7935146100d657806321f8a7211461010f578063514560611461012c57806353a47bb714610149575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166103d4565b005b6100f3600480360360208110156100ec57600080fd5b5035610430565b604080516001600160a01b039092168252519081900360200190f35b6100f36004803603602081101561012557600080fd5b503561044b565b6100f36004803603602081101561014257600080fd5b5035610466565b6100f361056e565b6100d46004803603602081101561016757600080fd5b810190602081018135600160201b81111561018157600080fd5b82018360208201111561019357600080fd5b803590602001918460208302840111600160201b831117156101b457600080fd5b50909250905061057d565b6100d4610607565b6100f36106c3565b61028d600480360360408110156101e557600080fd5b810190602081018135600160201b8111156101ff57600080fd5b82018360208201111561021157600080fd5b803590602001918460208302840111600160201b8311171561023257600080fd5b919390929091602081019035600160201b81111561024f57600080fd5b82018360208201111561026157600080fd5b803590602001918460208302840111600160201b8311171561028257600080fd5b5090925090506106d2565b604080519115158252519081900360200190f35b6100d4600480360360408110156102b757600080fd5b810190602081018135600160201b8111156102d157600080fd5b8201836020820111156102e357600080fd5b803590602001918460208302840111600160201b8311171561030457600080fd5b919390929091602081019035600160201b81111561032157600080fd5b82018360208201111561033357600080fd5b803590602001918460208302840111600160201b8311171561035457600080fd5b50909250905061075b565b6100f36004803603604081101561037557600080fd5b81359190810190604081016020820135600160201b81111561039657600080fd5b8201836020820111156103a857600080fd5b803590602001918460018302840111600160201b831117156103c957600080fd5b509092509050610867565b6103dc6108db565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6524b9b9bab2b960d11b600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b0316806104f7576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166332608039846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561053b57600080fd5b505afa15801561054f573d6000803e3d6000fd5b505050506040513d602081101561056557600080fd5b50519392505050565b6001546001600160a01b031681565b60005b818110156106025782828281811061059457fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105de57600080fd5b505af11580156105f2573d6000803e3d6000fd5b5050600190920191506105809050565b505050565b6001546001600160a01b031633146106505760405162461bcd60e51b81526004018080602001828103825260358152602001806109276035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000805b8481101561074d578383828181106106ea57fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061071357fe5b60209081029290920135835250810191909152604001600020546001600160a01b031614610745576000915050610753565b6001016106d6565b50600190505b949350505050565b6107636108db565b8281146107b7576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156108605760008585838181106107d057fe5b90506020020135905060008484848181106107e757fe5b600085815260026020908152604091829020805493820295909501356001600160a01b03166001600160a01b03199093168317909455805186815293840182905280519194507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9193829003019150a150506001016107ba565b5050505050565b6000838152600260205260408120546001600160a01b03168383826108d05760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6000546001600160a01b031633146109245760405162461bcd60e51b815260040180806020018281038252602f81526020018061095c602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820544c770f8fe299ade8fd98b7050535f0377da5b99772da137adb2d64ef3ba0a064736f6c63430005100032
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
OP | 100.00% | $0.999932 | 4.68 | $4.68 |
Loading...
Loading
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.