Source Code
Overview
HYPE Balance
HYPE Value
$0.00Latest 10 from a total of 10 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer Ownersh... | 4347871 | 246 days ago | IN | 0 HYPE | 0.00049185 | ||||
| Set Controller | 3897034 | 256 days ago | IN | 0 HYPE | 0.0000046 | ||||
| Set Controller | 3896724 | 256 days ago | IN | 0 HYPE | 0.00007191 | ||||
| Set Controller L... | 3896662 | 256 days ago | IN | 0 HYPE | 0.00005828 | ||||
| Set Margin Calcu... | 3896662 | 256 days ago | IN | 0 HYPE | 0.00000576 | ||||
| Set Margin Pool | 3896631 | 256 days ago | IN | 0 HYPE | 0.00005276 | ||||
| Set Oracle | 3896569 | 256 days ago | IN | 0 HYPE | 0.00000594 | ||||
| Set Whitelist | 3896569 | 256 days ago | IN | 0 HYPE | 0.00000595 | ||||
| Set Otoken Impl | 3896290 | 256 days ago | IN | 0 HYPE | 0.00000551 | ||||
| Set Otoken Facto... | 3896290 | 256 days ago | IN | 0 HYPE | 0.00000551 |
Latest 3 internal transactions
Advanced mode:
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 3896724 | 256 days ago | Contract Creation | 0 HYPE | |||
| 3896662 | 256 days ago | Contract Creation | 0 HYPE | |||
| 3896631 | 256 days ago | Contract Creation | 0 HYPE |
Cross-Chain Transactions
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
AddressBook
Compiler Version
v0.6.10+commit.00c0fcaf
Optimization Enabled:
Yes with 200 runs
Other Settings:
istanbul EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
/**
* SPDX-License-Identifier: UNLICENSED
*/
pragma solidity =0.6.10;
import {Ownable} from "../packages/oz/Ownable.sol";
import {OwnedUpgradeabilityProxy} from "../packages/oz/upgradeability/OwnedUpgradeabilityProxy.sol";
/**
* @author Opyn Team
* @title AddressBook Module
*/
contract AddressBook is Ownable {
/// @dev Otoken implementation key
bytes32 private constant OTOKEN_IMPL = keccak256("OTOKEN_IMPL");
/// @dev OtokenFactory key
bytes32 private constant OTOKEN_FACTORY = keccak256("OTOKEN_FACTORY");
/// @dev Whitelist key
bytes32 private constant WHITELIST = keccak256("WHITELIST");
/// @dev Controller key
bytes32 private constant CONTROLLER = keccak256("CONTROLLER");
/// @dev MarginPool key
bytes32 private constant MARGIN_POOL = keccak256("MARGIN_POOL");
/// @dev MarginCalculator key
bytes32 private constant MARGIN_CALCULATOR = keccak256("MARGIN_CALCULATOR");
/// @dev ControllerLogic key
bytes32 private constant CONTROLLER_LOGIC = keccak256("CONTROLLER_LOGIC");
/// @dev LiquidationManager key
bytes32 private constant LIQUIDATION_MANAGER = keccak256("LIQUIDATION_MANAGER");
/// @dev Oracle key
bytes32 private constant ORACLE = keccak256("ORACLE");
/// @dev mapping between key and address
mapping(bytes32 => address) private addresses;
/// @notice emits an event when a new proxy is created
event ProxyCreated(bytes32 indexed id, address indexed proxy);
/// @notice emits an event when a new address is added
event AddressAdded(bytes32 indexed id, address indexed add);
/**
* @notice return Otoken implementation address
* @return Otoken implementation address
*/
function getOtokenImpl() external view returns (address) {
return getAddress(OTOKEN_IMPL);
}
/**
* @notice return oTokenFactory address
* @return OtokenFactory address
*/
function getOtokenFactory() external view returns (address) {
return getAddress(OTOKEN_FACTORY);
}
/**
* @notice return Whitelist address
* @return Whitelist address
*/
function getWhitelist() external view returns (address) {
return getAddress(WHITELIST);
}
/**
* @notice return Controller address
* @return Controller address
*/
function getController() external view returns (address) {
return getAddress(CONTROLLER);
}
/**
* @notice return MarginPool address
* @return MarginPool address
*/
function getMarginPool() external view returns (address) {
return getAddress(MARGIN_POOL);
}
/**
* @notice return MarginCalculator address
* @return MarginCalculator address
*/
function getMarginCalculator() external view returns (address) {
return getAddress(MARGIN_CALCULATOR);
}
/**
* @notice return ControllerLogic address
* @return ControllerLogic address
*/
function getControllerLogic() external view returns (address) {
return getAddress(CONTROLLER_LOGIC);
}
/**
* @notice return LiquidationManager address
* @return LiquidationManager address
*/
function getLiquidationManager() external view returns (address) {
return getAddress(LIQUIDATION_MANAGER);
}
/**
* @notice return Oracle address
* @return Oracle address
*/
function getOracle() external view returns (address) {
return getAddress(ORACLE);
}
/**
* @notice set Otoken implementation address
* @dev can only be called by the addressbook owner
* @param _otokenImpl Otoken implementation address
*/
function setOtokenImpl(address _otokenImpl) external onlyOwner {
setAddress(OTOKEN_IMPL, _otokenImpl);
}
/**
* @notice set OtokenFactory address
* @dev can only be called by the addressbook owner
* @param _otokenFactory OtokenFactory address
*/
function setOtokenFactory(address _otokenFactory) external onlyOwner {
setAddress(OTOKEN_FACTORY, _otokenFactory);
}
/**
* @notice set Whitelist address
* @dev can only be called by the addressbook owner
* @param _whitelist Whitelist address
*/
function setWhitelist(address _whitelist) external onlyOwner {
setAddress(WHITELIST, _whitelist);
}
/**
* @notice set Controller address
* @dev can only be called by the addressbook owner
* @param _controller Controller address
*/
function setController(address _controller) external onlyOwner {
updateImpl(CONTROLLER, _controller);
}
/**
* @notice set MarginPool address
* @dev can only be called by the addressbook owner
* @param _marginPool MarginPool address
*/
function setMarginPool(address _marginPool) external onlyOwner {
updateImpl(MARGIN_POOL, _marginPool);
}
/**
* @notice set MarginCalculator address
* @dev can only be called by the addressbook owner
* @param _marginCalculator MarginCalculator address
*/
function setMarginCalculator(address _marginCalculator) external onlyOwner {
setAddress(MARGIN_CALCULATOR, _marginCalculator);
}
/**
* @notice set ControllerLogic address
* @dev can only be called by the addressbook owner
* @param _controllerLogic ControllerLogic address
*/
function setControllerLogic(address _controllerLogic) external onlyOwner {
updateImpl(CONTROLLER_LOGIC, _controllerLogic);
}
/**
* @notice set LiquidationManager address
* @dev can only be called by the addressbook owner
* @param _liquidationManager LiquidationManager address
*/
function setLiquidationManager(address _liquidationManager) external onlyOwner {
setAddress(LIQUIDATION_MANAGER, _liquidationManager);
}
/**
* @notice set Oracle address
* @dev can only be called by the addressbook owner
* @param _oracle Oracle address
*/
function setOracle(address _oracle) external onlyOwner {
setAddress(ORACLE, _oracle);
}
/**
* @notice return an address for specific key
* @param _key key address
* @return address
*/
function getAddress(bytes32 _key) public view returns (address) {
return addresses[_key];
}
/**
* @notice set a specific address for a specific key
* @dev can only be called by the addressbook owner
* @param _key key
* @param _address address
*/
function setAddress(bytes32 _key, address _address) public onlyOwner {
addresses[_key] = _address;
emit AddressAdded(_key, _address);
}
/**
* @dev function to update the implementation of a specific component of the protocol
* @param _id id of the contract to be updated
* @param _newAddress address of the new implementation
*
*/
function updateImpl(bytes32 _id, address _newAddress) public onlyOwner {
address payable proxyAddress = address(uint160(getAddress(_id)));
if (proxyAddress == address(0)) {
// controller has 3 address params, controller logic and margin pool have 2
bytes memory params = abi.encodeWithSignature(
_id == CONTROLLER ? "initialize(address,address,address)" : "initialize(address,address)",
address(this),
owner(),
owner()
);
OwnedUpgradeabilityProxy proxy = new OwnedUpgradeabilityProxy();
setAddress(_id, address(proxy));
emit ProxyCreated(_id, address(proxy));
proxy.upgradeToAndCall(_newAddress, params);
} else {
OwnedUpgradeabilityProxy proxy = OwnedUpgradeabilityProxy(proxyAddress);
proxy.upgradeTo(_newAddress);
}
}
}// SPDX-License-Identifier: MIT
// openzeppelin-contracts v3.1.0
pragma solidity 0.6.10;
import "./Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() internal {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions anymore. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}// SPDX-License-Identifier: UNLICENSED
// openzeppelin-contracts-upgradeable v3.0.0
pragma solidity 0.6.10;
import "./UpgradeabilityProxy.sol";
/**
* @title OwnedUpgradeabilityProxy
* @dev This contract combines an upgradeability proxy with basic authorization control functionalities
*/
contract OwnedUpgradeabilityProxy is UpgradeabilityProxy {
/**
* @dev Event to show ownership has been transferred
* @param previousOwner representing the address of the previous owner
* @param newOwner representing the address of the new owner
*/
event ProxyOwnershipTransferred(address previousOwner, address newOwner);
/// @dev Storage position of the owner of the contract
bytes32 private constant proxyOwnerPosition = keccak256("org.zeppelinos.proxy.owner");
/**
* @dev the constructor sets the original owner of the contract to the sender account.
*/
constructor() public {
setUpgradeabilityOwner(msg.sender);
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyProxyOwner() {
require(msg.sender == proxyOwner());
_;
}
/**
* @dev Tells the address of the owner
* @return owner the address of the owner
*/
function proxyOwner() public view returns (address owner) {
bytes32 position = proxyOwnerPosition;
assembly {
owner := sload(position)
}
}
/**
* @dev Sets the address of the owner
* @param _newProxyOwner address of new proxy owner
*/
function setUpgradeabilityOwner(address _newProxyOwner) internal {
bytes32 position = proxyOwnerPosition;
assembly {
sstore(position, _newProxyOwner)
}
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param _newOwner The address to transfer ownership to.
*/
function transferProxyOwnership(address _newOwner) public onlyProxyOwner {
require(_newOwner != address(0));
emit ProxyOwnershipTransferred(proxyOwner(), _newOwner);
setUpgradeabilityOwner(_newOwner);
}
/**
* @dev Allows the proxy owner to upgrade the current version of the proxy.
* @param _implementation representing the address of the new implementation to be set.
*/
function upgradeTo(address _implementation) public onlyProxyOwner {
_upgradeTo(_implementation);
}
/**
* @dev Allows the proxy owner to upgrade the current version of the proxy and call the new implementation
* to initialize whatever is needed through a low level call.
* @param _implementation representing the address of the new implementation to be set.
* @param _data represents the msg.data to bet sent in the low level call. This parameter may include the function
* signature of the implementation to be called with the needed payload
*/
function upgradeToAndCall(address _implementation, bytes calldata _data) public payable onlyProxyOwner {
upgradeTo(_implementation);
(bool success, ) = address(this).call{value: msg.value}(_data);
require(success);
}
}// SPDX-License-Identifier: MIT
// openzeppelin-contracts v3.1.0
pragma solidity 0.6.10;
/*
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with GSN meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address payable) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes memory) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}// SPDX-License-Identifier: UNLICENSED
// openzeppelin-contracts-upgradeable v3.0.0
pragma solidity 0.6.10;
import "./Proxy.sol";
/**
* @title UpgradeabilityProxy
* @dev This contract represents a proxy where the implementation address to which it will delegate can be upgraded
*/
contract UpgradeabilityProxy is Proxy {
/**
* @dev This event will be emitted every time the implementation gets upgraded
* @param implementation representing the address of the upgraded implementation
*/
event Upgraded(address indexed implementation);
/// @dev Storage position of the address of the current implementation
bytes32 private constant implementationPosition = keccak256("org.zeppelinos.proxy.implementation");
/**
* @dev Tells the address of the current implementation
* @return impl address of the current implementation
*/
function implementation() public view override returns (address impl) {
bytes32 position = implementationPosition;
assembly {
impl := sload(position)
}
}
/**
* @dev Sets the address of the current implementation
* @param _newImplementation address representing the new implementation to be set
*/
function setImplementation(address _newImplementation) internal {
bytes32 position = implementationPosition;
assembly {
sstore(position, _newImplementation)
}
}
/**
* @dev Upgrades the implementation address
* @param _newImplementation representing the address of the new implementation to be set
*/
function _upgradeTo(address _newImplementation) internal {
address currentImplementation = implementation();
require(currentImplementation != _newImplementation);
setImplementation(_newImplementation);
emit Upgraded(_newImplementation);
}
}// SPDX-License-Identifier: UNLICENSED
// openzeppelin-contracts-upgradeable v3.0.0
pragma solidity 0.6.10;
/**
* @title Proxy
* @dev Gives the possibility to delegate any call to a foreign implementation.
*/
abstract contract Proxy {
/**
* @dev Tells the address of the implementation where every call will be delegated.
* @return address of the implementation to which it will be delegated
*/
function implementation() public view virtual returns (address);
/**
* @dev Fallback function allowing to perform a delegatecall to the given implementation.
* This function will return whatever the implementation call returns
*/
fallback() external payable {
address _impl = implementation();
require(_impl != address(0));
assembly {
let ptr := mload(0x40)
calldatacopy(ptr, 0, calldatasize())
let result := delegatecall(gas(), _impl, ptr, calldatasize(), 0, 0)
let size := returndatasize()
returndatacopy(ptr, 0, size)
switch result
case 0 {
revert(ptr, size)
}
default {
return(ptr, size)
}
}
}
}{
"remappings": [
"@ensdomains/=node_modules/@ensdomains/",
"@openzeppelin/=node_modules/@openzeppelin/",
"@solidity-parser/=node_modules/solhint/node_modules/@solidity-parser/",
"eth-gas-reporter/=node_modules/eth-gas-reporter/",
"truffle/=node_modules/truffle/",
"forge-std/=lib/forge-std/src/"
],
"optimizer": {
"enabled": true,
"runs": 200
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs"
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "istanbul",
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"},{"indexed":true,"internalType":"address","name":"add","type":"address"}],"name":"AddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"},{"indexed":true,"internalType":"address","name":"proxy","type":"address"}],"name":"ProxyCreated","type":"event"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getController","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getControllerLogic","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLiquidationManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMarginCalculator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMarginPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOracle","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOtokenFactory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOtokenImpl","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWhitelist","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"address","name":"_address","type":"address"}],"name":"setAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"name":"setController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_controllerLogic","type":"address"}],"name":"setControllerLogic","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_liquidationManager","type":"address"}],"name":"setLiquidationManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marginCalculator","type":"address"}],"name":"setMarginCalculator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marginPool","type":"address"}],"name":"setMarginPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_oracle","type":"address"}],"name":"setOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_otokenFactory","type":"address"}],"name":"setOtokenFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_otokenImpl","type":"address"}],"name":"setOtokenImpl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_whitelist","type":"address"}],"name":"setWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_id","type":"bytes32"},{"internalType":"address","name":"_newAddress","type":"address"}],"name":"updateImpl","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b5060006100246001600160e01b0361007316565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610077565b3390565b611589806100866000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80638da5cb5b116100c3578063d01f63f51161007c578063d01f63f51461031c578063d94f323e14610324578063e7cf78411461034a578063e9f2e8be14610370578063ee8a463214610396578063f2fde38b1461039e57610158565b80638da5cb5b1461028c57806392eefe9b14610294578063a8de41d5146102ba578063b508ac99146102c2578063ca446dd9146102e8578063cf28493f1461031457610158565b80634600f4df116101155780634600f4df14610202578063715018a61461022857806375486342146102305780637adbf97314610238578063833b1fce1461025e578063854cff2f1461026657610158565b8063066c5d951461015d5780631ffaf0db1461018157806321f8a721146101895780632b6bfeaa146101a65780633018205f146101d457806338f92fc7146101dc575b600080fd5b6101656103c4565b604080516001600160a01b039092168252519081900360200190f35b6101656103fa565b6101656004803603602081101561019f57600080fd5b5035610425565b6101d2600480360360408110156101bc57600080fd5b50803590602001356001600160a01b0316610440565b005b6101656107a5565b6101d2600480360360208110156101f257600080fd5b50356001600160a01b03166107d0565b6101d26004803603602081101561021857600080fd5b50356001600160a01b031661085d565b6101d26108e4565b610165610986565b6101d26004803603602081101561024e57600080fd5b50356001600160a01b03166109b2565b610165610a2f565b6101d26004803603602081101561027c57600080fd5b50356001600160a01b0316610a56565b610165610ad6565b6101d2600480360360208110156102aa57600080fd5b50356001600160a01b0316610ae5565b610165610b66565b6101d2600480360360208110156102d857600080fd5b50356001600160a01b0316610b92565b6101d2600480360360408110156102fe57600080fd5b50803590602001356001600160a01b0316610c10565b610165610cc1565b610165610cf3565b6101d26004803603602081101561033a57600080fd5b50356001600160a01b0316610d1d565b6101d26004803603602081101561036057600080fd5b50356001600160a01b0316610da2565b6101d26004803603602081101561038657600080fd5b50356001600160a01b0316610e24565b610165610eac565b6101d2600480360360208110156103b457600080fd5b50356001600160a01b0316610ee0565b604080516f434f4e54524f4c4c45525f4c4f47494360801b815290519081900360100190206000906103f590610425565b905090565b604080516d4f544f4b454e5f464143544f525960901b8152905190819003600e0190206000906103f5905b6000908152600160205260409020546001600160a01b031690565b610448610fd8565b6000546001600160a01b03908116911614610498576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b60006104a383610425565b90506001600160a01b03811661073b57604080516921a7a72a2927a62622a960b11b8152905190819003600a0190206060908414610516576040518060400160405280601b81526020017f696e697469616c697a6528616464726573732c61646472657373290000000000815250610530565b604051806060016040528060238152602001611531602391395b30610539610ad6565b610541610ad6565b604080516001600160a01b0394851660248201529284166044840152921660648083019190915282518083039091018152608490910191829052825190929190819060208401908083835b602083106105ab5780518252601f19909201916020918201910161058c565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912090860180516001600160e01b03199092166001600160e01b03909216919091179052505192935060009261060992509050610fdc565b604051809103906000f080158015610625573d6000803e3d6000fd5b5090506106328582610c10565b6040516001600160a01b0382169086907f1eb35cb4b5bbb23d152f3b4016a5a46c37a07ae930ed0956aba951e23114243890600090a36040805163278f794360e11b81526001600160a01b03868116600483019081526024830193845285516044840152855191851693634f1ef2869389938893929160640190602085019080838360005b838110156106cf5781810151838201526020016106b7565b50505050905090810190601f1680156106fc5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561071c57600080fd5b505af1158015610730573d6000803e3d6000fd5b5050505050506107a0565b60408051631b2ce7f360e11b81526001600160a01b03848116600483015291518392831691633659cfe691602480830192600092919082900301818387803b15801561078657600080fd5b505af115801561079a573d6000803e3d6000fd5b50505050505b505050565b604080516921a7a72a2927a62622a960b11b8152905190819003600a0190206000906103f590610425565b6107d8610fd8565b6000546001600160a01b03908116911614610828576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b60408051722624a8aaa4a220aa24a7a72fa6a0a720a3a2a960691b8152905190819003601301902061085a9082610c10565b50565b610865610fd8565b6000546001600160a01b039081169116146108b5576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b604080516f434f4e54524f4c4c45525f4c4f47494360801b8152905190819003601001902061085a9082610440565b6108ec610fd8565b6000546001600160a01b0390811691161461093c576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b604080516a13505491d25397d413d3d360aa1b8152905190819003600b0190206000906103f590610425565b6109ba610fd8565b6000546001600160a01b03908116911614610a0a576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b60408051654f5241434c4560d01b8152905190819003600601902061085a9082610c10565b60408051654f5241434c4560d01b815290519081900360060190206000906103f590610425565b610a5e610fd8565b6000546001600160a01b03908116911614610aae576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b604080516815d2125511531254d560ba1b8152905190819003600901902061085a9082610c10565b6000546001600160a01b031690565b610aed610fd8565b6000546001600160a01b03908116911614610b3d576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b604080516921a7a72a2927a62622a960b11b8152905190819003600a01902061085a9082610440565b604080516a13d513d2d15397d253541360aa1b8152905190819003600b0190206000906103f590610425565b610b9a610fd8565b6000546001600160a01b03908116911614610bea576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b604080516a13d513d2d15397d253541360aa1b8152905190819003600b01902061085a90825b610c18610fd8565b6000546001600160a01b03908116911614610c68576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b60008281526001602052604080822080546001600160a01b0319166001600160a01b0385169081179091559051909184917f3eb532562a19423f49e2e3b30790b23d00c625f3ee37c7359d03688bf7111f6c9190a35050565b604080517026a0a923a4a72fa1a0a621aaa620aa27a960791b815290519081900360110190206000906103f590610425565b604080516815d2125511531254d560ba1b815290519081900360090190206000906103f590610425565b610d25610fd8565b6000546001600160a01b03908116911614610d75576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b604080516d4f544f4b454e5f464143544f525960901b8152905190819003600e01902061085a9082610c10565b610daa610fd8565b6000546001600160a01b03908116911614610dfa576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b604080516a13505491d25397d413d3d360aa1b8152905190819003600b01902061085a9082610440565b610e2c610fd8565b6000546001600160a01b03908116911614610e7c576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b604080517026a0a923a4a72fa1a0a621aaa620aa27a960791b8152905190819003601101902061085a9082610c10565b60408051722624a8aaa4a220aa24a7a72fa6a0a720a3a2a960691b815290519081900360130190206000906103f590610425565b610ee8610fd8565b6000546001600160a01b03908116911614610f38576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b6001600160a01b038116610f7d5760405162461bcd60e51b81526004018080602001828103825260268152602001806114eb6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b61050180610fea8339019056fe608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b61005d565b604080517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152905190819003601a01902055565b6104958061006c6000396000f3fe60806040526004361061004a5760003560e01c8063025313a21461008e5780633659cfe6146100bf5780634f1ef286146100f45780635c60da1b14610174578063f1739cae14610189575b60006100546101bc565b90506001600160a01b03811661006957600080fd5b60405136600082376000803683855af43d806000843e81801561008a578184f35b8184fd5b34801561009a57600080fd5b506100a36101df565b604080516001600160a01b039092168252519081900360200190f35b3480156100cb57600080fd5b506100f2600480360360208110156100e257600080fd5b50356001600160a01b0316610215565b005b6100f26004803603604081101561010a57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561013557600080fd5b82018360208201111561014757600080fd5b8035906020019184600183028401116401000000008311171561016957600080fd5b509092509050610246565b34801561018057600080fd5b506100a36101bc565b34801561019557600080fd5b506100f2600480360360208110156101ac57600080fd5b50356001600160a01b03166102ed565b600080604051808061043d60239139604051908190036023019020549392505050565b604080517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152905190819003601a0190205490565b61021d6101df565b6001600160a01b0316336001600160a01b03161461023a57600080fd5b61024381610379565b50565b61024e6101df565b6001600160a01b0316336001600160a01b03161461026b57600080fd5b61027483610215565b6000306001600160a01b0316348484604051808383808284376040519201945060009350909150508083038185875af1925050503d80600081146102d4576040519150601f19603f3d011682016040523d82523d6000602084013e6102d9565b606091505b50509050806102e757600080fd5b50505050565b6102f56101df565b6001600160a01b0316336001600160a01b03161461031257600080fd5b6001600160a01b03811661032557600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd961034e6101df565b604080516001600160a01b03928316815291841660208301528051918290030190a1610243816103e5565b60006103836101bc565b9050816001600160a01b0316816001600160a01b031614156103a457600080fd5b6103ad8261041a565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b604080517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152905190819003601a01902055565b6000604051808061043d6023913960405190819003602301902092909255505056fe6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e746174696f6ea2646970667358221220ec3e2d7f16f6d580faacef590c38e181674b012472bbf93c52ee7508a48303d164736f6c634300060a00334f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572696e697469616c697a6528616464726573732c616464726573732c6164647265737329a264697066735822122075edfd5fd8fb90c94581ff78b445725398eb83c8638a78f70c9c45c6fbec1fd664736f6c634300060a0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101585760003560e01c80638da5cb5b116100c3578063d01f63f51161007c578063d01f63f51461031c578063d94f323e14610324578063e7cf78411461034a578063e9f2e8be14610370578063ee8a463214610396578063f2fde38b1461039e57610158565b80638da5cb5b1461028c57806392eefe9b14610294578063a8de41d5146102ba578063b508ac99146102c2578063ca446dd9146102e8578063cf28493f1461031457610158565b80634600f4df116101155780634600f4df14610202578063715018a61461022857806375486342146102305780637adbf97314610238578063833b1fce1461025e578063854cff2f1461026657610158565b8063066c5d951461015d5780631ffaf0db1461018157806321f8a721146101895780632b6bfeaa146101a65780633018205f146101d457806338f92fc7146101dc575b600080fd5b6101656103c4565b604080516001600160a01b039092168252519081900360200190f35b6101656103fa565b6101656004803603602081101561019f57600080fd5b5035610425565b6101d2600480360360408110156101bc57600080fd5b50803590602001356001600160a01b0316610440565b005b6101656107a5565b6101d2600480360360208110156101f257600080fd5b50356001600160a01b03166107d0565b6101d26004803603602081101561021857600080fd5b50356001600160a01b031661085d565b6101d26108e4565b610165610986565b6101d26004803603602081101561024e57600080fd5b50356001600160a01b03166109b2565b610165610a2f565b6101d26004803603602081101561027c57600080fd5b50356001600160a01b0316610a56565b610165610ad6565b6101d2600480360360208110156102aa57600080fd5b50356001600160a01b0316610ae5565b610165610b66565b6101d2600480360360208110156102d857600080fd5b50356001600160a01b0316610b92565b6101d2600480360360408110156102fe57600080fd5b50803590602001356001600160a01b0316610c10565b610165610cc1565b610165610cf3565b6101d26004803603602081101561033a57600080fd5b50356001600160a01b0316610d1d565b6101d26004803603602081101561036057600080fd5b50356001600160a01b0316610da2565b6101d26004803603602081101561038657600080fd5b50356001600160a01b0316610e24565b610165610eac565b6101d2600480360360208110156103b457600080fd5b50356001600160a01b0316610ee0565b604080516f434f4e54524f4c4c45525f4c4f47494360801b815290519081900360100190206000906103f590610425565b905090565b604080516d4f544f4b454e5f464143544f525960901b8152905190819003600e0190206000906103f5905b6000908152600160205260409020546001600160a01b031690565b610448610fd8565b6000546001600160a01b03908116911614610498576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b60006104a383610425565b90506001600160a01b03811661073b57604080516921a7a72a2927a62622a960b11b8152905190819003600a0190206060908414610516576040518060400160405280601b81526020017f696e697469616c697a6528616464726573732c61646472657373290000000000815250610530565b604051806060016040528060238152602001611531602391395b30610539610ad6565b610541610ad6565b604080516001600160a01b0394851660248201529284166044840152921660648083019190915282518083039091018152608490910191829052825190929190819060208401908083835b602083106105ab5780518252601f19909201916020918201910161058c565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912090860180516001600160e01b03199092166001600160e01b03909216919091179052505192935060009261060992509050610fdc565b604051809103906000f080158015610625573d6000803e3d6000fd5b5090506106328582610c10565b6040516001600160a01b0382169086907f1eb35cb4b5bbb23d152f3b4016a5a46c37a07ae930ed0956aba951e23114243890600090a36040805163278f794360e11b81526001600160a01b03868116600483019081526024830193845285516044840152855191851693634f1ef2869389938893929160640190602085019080838360005b838110156106cf5781810151838201526020016106b7565b50505050905090810190601f1680156106fc5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561071c57600080fd5b505af1158015610730573d6000803e3d6000fd5b5050505050506107a0565b60408051631b2ce7f360e11b81526001600160a01b03848116600483015291518392831691633659cfe691602480830192600092919082900301818387803b15801561078657600080fd5b505af115801561079a573d6000803e3d6000fd5b50505050505b505050565b604080516921a7a72a2927a62622a960b11b8152905190819003600a0190206000906103f590610425565b6107d8610fd8565b6000546001600160a01b03908116911614610828576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b60408051722624a8aaa4a220aa24a7a72fa6a0a720a3a2a960691b8152905190819003601301902061085a9082610c10565b50565b610865610fd8565b6000546001600160a01b039081169116146108b5576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b604080516f434f4e54524f4c4c45525f4c4f47494360801b8152905190819003601001902061085a9082610440565b6108ec610fd8565b6000546001600160a01b0390811691161461093c576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b604080516a13505491d25397d413d3d360aa1b8152905190819003600b0190206000906103f590610425565b6109ba610fd8565b6000546001600160a01b03908116911614610a0a576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b60408051654f5241434c4560d01b8152905190819003600601902061085a9082610c10565b60408051654f5241434c4560d01b815290519081900360060190206000906103f590610425565b610a5e610fd8565b6000546001600160a01b03908116911614610aae576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b604080516815d2125511531254d560ba1b8152905190819003600901902061085a9082610c10565b6000546001600160a01b031690565b610aed610fd8565b6000546001600160a01b03908116911614610b3d576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b604080516921a7a72a2927a62622a960b11b8152905190819003600a01902061085a9082610440565b604080516a13d513d2d15397d253541360aa1b8152905190819003600b0190206000906103f590610425565b610b9a610fd8565b6000546001600160a01b03908116911614610bea576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b604080516a13d513d2d15397d253541360aa1b8152905190819003600b01902061085a90825b610c18610fd8565b6000546001600160a01b03908116911614610c68576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b60008281526001602052604080822080546001600160a01b0319166001600160a01b0385169081179091559051909184917f3eb532562a19423f49e2e3b30790b23d00c625f3ee37c7359d03688bf7111f6c9190a35050565b604080517026a0a923a4a72fa1a0a621aaa620aa27a960791b815290519081900360110190206000906103f590610425565b604080516815d2125511531254d560ba1b815290519081900360090190206000906103f590610425565b610d25610fd8565b6000546001600160a01b03908116911614610d75576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b604080516d4f544f4b454e5f464143544f525960901b8152905190819003600e01902061085a9082610c10565b610daa610fd8565b6000546001600160a01b03908116911614610dfa576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b604080516a13505491d25397d413d3d360aa1b8152905190819003600b01902061085a9082610440565b610e2c610fd8565b6000546001600160a01b03908116911614610e7c576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b604080517026a0a923a4a72fa1a0a621aaa620aa27a960791b8152905190819003601101902061085a9082610c10565b60408051722624a8aaa4a220aa24a7a72fa6a0a720a3a2a960691b815290519081900360130190206000906103f590610425565b610ee8610fd8565b6000546001600160a01b03908116911614610f38576040805162461bcd60e51b81526020600482018190526024820152600080516020611511833981519152604482015290519081900360640190fd5b6001600160a01b038116610f7d5760405162461bcd60e51b81526004018080602001828103825260268152602001806114eb6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b61050180610fea8339019056fe608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b61005d565b604080517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152905190819003601a01902055565b6104958061006c6000396000f3fe60806040526004361061004a5760003560e01c8063025313a21461008e5780633659cfe6146100bf5780634f1ef286146100f45780635c60da1b14610174578063f1739cae14610189575b60006100546101bc565b90506001600160a01b03811661006957600080fd5b60405136600082376000803683855af43d806000843e81801561008a578184f35b8184fd5b34801561009a57600080fd5b506100a36101df565b604080516001600160a01b039092168252519081900360200190f35b3480156100cb57600080fd5b506100f2600480360360208110156100e257600080fd5b50356001600160a01b0316610215565b005b6100f26004803603604081101561010a57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561013557600080fd5b82018360208201111561014757600080fd5b8035906020019184600183028401116401000000008311171561016957600080fd5b509092509050610246565b34801561018057600080fd5b506100a36101bc565b34801561019557600080fd5b506100f2600480360360208110156101ac57600080fd5b50356001600160a01b03166102ed565b600080604051808061043d60239139604051908190036023019020549392505050565b604080517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152905190819003601a0190205490565b61021d6101df565b6001600160a01b0316336001600160a01b03161461023a57600080fd5b61024381610379565b50565b61024e6101df565b6001600160a01b0316336001600160a01b03161461026b57600080fd5b61027483610215565b6000306001600160a01b0316348484604051808383808284376040519201945060009350909150508083038185875af1925050503d80600081146102d4576040519150601f19603f3d011682016040523d82523d6000602084013e6102d9565b606091505b50509050806102e757600080fd5b50505050565b6102f56101df565b6001600160a01b0316336001600160a01b03161461031257600080fd5b6001600160a01b03811661032557600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd961034e6101df565b604080516001600160a01b03928316815291841660208301528051918290030190a1610243816103e5565b60006103836101bc565b9050816001600160a01b0316816001600160a01b031614156103a457600080fd5b6103ad8261041a565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b604080517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152905190819003601a01902055565b6000604051808061043d6023913960405190819003602301902092909255505056fe6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e746174696f6ea2646970667358221220ec3e2d7f16f6d580faacef590c38e181674b012472bbf93c52ee7508a48303d164736f6c634300060a00334f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572696e697469616c697a6528616464726573732c616464726573732c6164647265737329a264697066735822122075edfd5fd8fb90c94581ff78b445725398eb83c8638a78f70c9c45c6fbec1fd664736f6c634300060a0033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in HYPE
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
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.