Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 1 from a total of 1 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Initialize | 12948385 | 1591 days ago | IN | 0 ETH | 0.0021438 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
EdenNetworkManager
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "./lib/Initializable.sol";
/**
* @title EdenNetworkManager
* @dev Handles updates for the EdenNetwork proxy + implementation
*/
contract EdenNetworkManager is Initializable {
/// @notice EdenNetworkManager admin
address public admin;
/// @notice EdenNetworkProxy address
address public edenNetworkProxy;
/// @notice Admin modifier
modifier onlyAdmin() {
require(msg.sender == admin, "not admin");
_;
}
/// @notice New admin event
event AdminChanged(address indexed oldAdmin, address indexed newAdmin);
/// @notice New Eden Network proxy event
event EdenNetworkProxyChanged(address indexed oldEdenNetworkProxy, address indexed newEdenNetworkProxy);
/**
* @notice Construct new EdenNetworkManager contract, setting msg.sender as admin
*/
constructor() {
admin = msg.sender;
emit AdminChanged(address(0), msg.sender);
}
/**
* @notice Initialize contract
* @param _edenNetworkProxy EdenNetwork proxy contract address
* @param _admin Admin address
*/
function initialize(
address _edenNetworkProxy,
address _admin
) external initializer onlyAdmin {
emit AdminChanged(admin, _admin);
admin = _admin;
edenNetworkProxy = _edenNetworkProxy;
emit EdenNetworkProxyChanged(address(0), _edenNetworkProxy);
}
/**
* @notice Set new admin for this contract
* @dev Can only be executed by admin
* @param newAdmin new admin address
*/
function setAdmin(
address newAdmin
) external onlyAdmin {
emit AdminChanged(admin, newAdmin);
admin = newAdmin;
}
/**
* @notice Set new Eden Network proxy contract
* @dev Can only be executed by admin
* @param newEdenNetworkProxy new Eden Network proxy address
*/
function setEdenNetworkProxy(
address newEdenNetworkProxy
) external onlyAdmin {
emit EdenNetworkProxyChanged(edenNetworkProxy, newEdenNetworkProxy);
edenNetworkProxy = newEdenNetworkProxy;
}
/**
* @notice Public getter for EdenNetwork Proxy implementation contract address
*/
function getProxyImplementation() public view returns (address) {
// We need to manually run the static call since the getter cannot be flagged as view
// bytes4(keccak256("implementation()")) == 0x5c60da1b
(bool success, bytes memory returndata) = edenNetworkProxy.staticcall(hex"5c60da1b");
require(success);
return abi.decode(returndata, (address));
}
/**
* @notice Public getter for EdenNetwork Proxy admin address
*/
function getProxyAdmin() public view returns (address) {
// We need to manually run the static call since the getter cannot be flagged as view
// bytes4(keccak256("admin()")) == 0xf851a440
(bool success, bytes memory returndata) = edenNetworkProxy.staticcall(hex"f851a440");
require(success);
return abi.decode(returndata, (address));
}
/**
* @notice Set new admin for EdenNetwork proxy contract
* @param newAdmin new admin address
*/
function setProxyAdmin(
address newAdmin
) external onlyAdmin {
// bytes4(keccak256("changeAdmin(address)")) = 0x8f283970
(bool success, ) = edenNetworkProxy.call(abi.encodeWithSelector(hex"8f283970", newAdmin));
require(success, "setProxyAdmin failed");
}
/**
* @notice Set new implementation for EdenNetwork proxy contract
* @param newImplementation new implementation address
*/
function upgrade(
address newImplementation
) external onlyAdmin {
// bytes4(keccak256("upgradeTo(address)")) = 0x3659cfe6
(bool success, ) = edenNetworkProxy.call(abi.encodeWithSelector(hex"3659cfe6", newImplementation));
require(success, "upgrade failed");
}
/**
* @notice Set new implementation for EdenNetwork proxy contract + call function after
* @param newImplementation new implementation address
* @param data Bytes-encoded function to call
*/
function upgradeAndCall(
address newImplementation,
bytes memory data
) external payable onlyAdmin {
// bytes4(keccak256("upgradeToAndCall(address,bytes)")) = 0x4f1ef286
(bool success, ) = edenNetworkProxy.call{value: msg.value}(abi.encodeWithSelector(hex"4f1ef286", newImplementation, data));
require(success, "upgradeAndCall failed");
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/**
* @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed
* behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an
* external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer
* function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.
*
* TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as
* possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.
*
* CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure
* that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.
*/
abstract contract Initializable {
/**
* @dev Indicates that the contract has been initialized.
*/
bool private _initialized;
/**
* @dev Indicates that the contract is in the process of being initialized.
*/
bool private _initializing;
/**
* @dev Modifier to protect an initializer function from being invoked twice.
*/
modifier initializer() {
require(_initializing || !_initialized, "Initializable: contract is already initialized");
bool isTopLevelCall = !_initializing;
if (isTopLevelCall) {
_initializing = true;
_initialized = true;
}
_;
if (isTopLevelCall) {
_initializing = false;
}
}
}{
"evmVersion": "berlin",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs",
"useLiteralContent": true
},
"optimizer": {
"enabled": true,
"runs": 999999
},
"remappings": [],
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldAdmin","type":"address"},{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldEdenNetworkProxy","type":"address"},{"indexed":true,"internalType":"address","name":"newEdenNetworkProxy","type":"address"}],"name":"EdenNetworkProxyChanged","type":"event"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"edenNetworkProxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getProxyAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getProxyImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_edenNetworkProxy","type":"address"},{"internalType":"address","name":"_admin","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newEdenNetworkProxy","type":"address"}],"name":"setEdenNetworkProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"setProxyAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeAndCall","outputs":[],"stateMutability":"payable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b506000805462010000600160b01b031916336201000081029190911782556040519091907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a361103b806100686000396000f3fe6080604052600436106100b15760003560e01c80638b3240a011610069578063f16708861161004e578063f16708861461019e578063f6752e6c146101be578063f851a440146101eb57600080fd5b80638b3240a01461014b57806390e4b7201461018957600080fd5b806347c026611161009a57806347c02661146100eb578063485cc9551461010b578063704b6c021461012b57600080fd5b80630900f010146100b65780632a6a833b146100d8575b600080fd5b3480156100c257600080fd5b506100d66100d1366004610d9b565b61021e565b005b6100d66100e6366004610e15565b610407565b3480156100f757600080fd5b506100d6610106366004610d9b565b6105f3565b34801561011757600080fd5b506100d6610126366004610ddc565b6107d3565b34801561013757600080fd5b506100d6610146366004610d9b565b610a62565b34801561015757600080fd5b50610160610b82565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561019557600080fd5b50610160610c37565b3480156101aa57600080fd5b506100d66101b9366004610d9b565b610c86565b3480156101ca57600080fd5b506001546101609073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101f757600080fd5b506000546101609062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1633146102aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f742061646d696e000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b60015460405173ffffffffffffffffffffffffffffffffffffffff83811660248301526000921690604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3659cfe600000000000000000000000000000000000000000000000000000000179052516103569190610ef7565b6000604051808303816000865af19150503d8060008114610393576040519150601f19603f3d011682016040523d82523d6000602084013e610398565b606091505b5050905080610403576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f75706772616465206661696c656400000000000000000000000000000000000060448201526064016102a1565b5050565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff16331461048e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f742061646d696e000000000000000000000000000000000000000000000060448201526064016102a1565b60015460405160009173ffffffffffffffffffffffffffffffffffffffff169034906104c09086908690602401610f13565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4f1ef28600000000000000000000000000000000000000000000000000000000179052516105419190610ef7565b60006040518083038185875af1925050503d806000811461057e576040519150601f19603f3d011682016040523d82523d6000602084013e610583565b606091505b50509050806105ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f75706772616465416e6443616c6c206661696c6564000000000000000000000060448201526064016102a1565b505050565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff16331461067a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f742061646d696e000000000000000000000000000000000000000000000060448201526064016102a1565b60015460405173ffffffffffffffffffffffffffffffffffffffff83811660248301526000921690604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8f28397000000000000000000000000000000000000000000000000000000000179052516107269190610ef7565b6000604051808303816000865af19150503d8060008114610763576040519150601f19603f3d011682016040523d82523d6000602084013e610768565b606091505b5050905080610403576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f73657450726f787941646d696e206661696c656400000000000000000000000060448201526064016102a1565b600054610100900460ff16806107ec575060005460ff16155b610878576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016102a1565b600054610100900460ff161580156108b757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b60005462010000900473ffffffffffffffffffffffffffffffffffffffff16331461093e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f742061646d696e000000000000000000000000000000000000000000000060448201526064016102a1565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808616936201000090930416917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f91a36000805473ffffffffffffffffffffffffffffffffffffffff80851662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091178255600180549186167fffffffffffffffffffffffff0000000000000000000000000000000000000000909216821790556040519091907f8373d66f353a1c04bf00fefa417d400cd22b0c1ed46832f1b765ebc55b03c439908290a380156105ee57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff163314610ae9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f742061646d696e000000000000000000000000000000000000000000000060448201526064016102a1565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516936201000090930416917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f91a36000805473ffffffffffffffffffffffffffffffffffffffff90921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b6001546040517ff851a4400000000000000000000000000000000000000000000000000000000081526000918291829173ffffffffffffffffffffffffffffffffffffffff16906004015b600060405180830381855afa9150503d8060008114610c08576040519150601f19603f3d011682016040523d82523d6000602084013e610c0d565b606091505b509150915081610c1c57600080fd5b80806020019051810190610c309190610dbf565b9250505090565b6001546040517f5c60da1b0000000000000000000000000000000000000000000000000000000081526000918291829173ffffffffffffffffffffffffffffffffffffffff1690600401610bcd565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff163314610d0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f742061646d696e000000000000000000000000000000000000000000000060448201526064016102a1565b60015460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8373d66f353a1c04bf00fefa417d400cd22b0c1ed46832f1b765ebc55b03c43990600090a3600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600060208284031215610dad57600080fd5b8135610db881610fe0565b9392505050565b600060208284031215610dd157600080fd5b8151610db881610fe0565b60008060408385031215610def57600080fd5b8235610dfa81610fe0565b91506020830135610e0a81610fe0565b809150509250929050565b60008060408385031215610e2857600080fd5b8235610e3381610fe0565b9150602083013567ffffffffffffffff80821115610e5057600080fd5b818501915085601f830112610e6457600080fd5b813581811115610e7657610e76610fb1565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610ebc57610ebc610fb1565b81604052828152886020848701011115610ed557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008251610f09818460208701610f81565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260008251806040840152610f4e816060850160208701610f81565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b60005b83811015610f9c578181015183820152602001610f84565b83811115610fab576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461100257600080fd5b5056fea26469706673582212206a66cb2212388e1400822226187a15b49042a2cf558a647034b9cfbd7e1c61b064736f6c63430008060033
Deployed Bytecode
0x6080604052600436106100b15760003560e01c80638b3240a011610069578063f16708861161004e578063f16708861461019e578063f6752e6c146101be578063f851a440146101eb57600080fd5b80638b3240a01461014b57806390e4b7201461018957600080fd5b806347c026611161009a57806347c02661146100eb578063485cc9551461010b578063704b6c021461012b57600080fd5b80630900f010146100b65780632a6a833b146100d8575b600080fd5b3480156100c257600080fd5b506100d66100d1366004610d9b565b61021e565b005b6100d66100e6366004610e15565b610407565b3480156100f757600080fd5b506100d6610106366004610d9b565b6105f3565b34801561011757600080fd5b506100d6610126366004610ddc565b6107d3565b34801561013757600080fd5b506100d6610146366004610d9b565b610a62565b34801561015757600080fd5b50610160610b82565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561019557600080fd5b50610160610c37565b3480156101aa57600080fd5b506100d66101b9366004610d9b565b610c86565b3480156101ca57600080fd5b506001546101609073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101f757600080fd5b506000546101609062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1633146102aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f742061646d696e000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b60015460405173ffffffffffffffffffffffffffffffffffffffff83811660248301526000921690604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3659cfe600000000000000000000000000000000000000000000000000000000179052516103569190610ef7565b6000604051808303816000865af19150503d8060008114610393576040519150601f19603f3d011682016040523d82523d6000602084013e610398565b606091505b5050905080610403576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f75706772616465206661696c656400000000000000000000000000000000000060448201526064016102a1565b5050565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff16331461048e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f742061646d696e000000000000000000000000000000000000000000000060448201526064016102a1565b60015460405160009173ffffffffffffffffffffffffffffffffffffffff169034906104c09086908690602401610f13565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4f1ef28600000000000000000000000000000000000000000000000000000000179052516105419190610ef7565b60006040518083038185875af1925050503d806000811461057e576040519150601f19603f3d011682016040523d82523d6000602084013e610583565b606091505b50509050806105ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f75706772616465416e6443616c6c206661696c6564000000000000000000000060448201526064016102a1565b505050565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff16331461067a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f742061646d696e000000000000000000000000000000000000000000000060448201526064016102a1565b60015460405173ffffffffffffffffffffffffffffffffffffffff83811660248301526000921690604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8f28397000000000000000000000000000000000000000000000000000000000179052516107269190610ef7565b6000604051808303816000865af19150503d8060008114610763576040519150601f19603f3d011682016040523d82523d6000602084013e610768565b606091505b5050905080610403576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f73657450726f787941646d696e206661696c656400000000000000000000000060448201526064016102a1565b600054610100900460ff16806107ec575060005460ff16155b610878576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016102a1565b600054610100900460ff161580156108b757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b60005462010000900473ffffffffffffffffffffffffffffffffffffffff16331461093e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f742061646d696e000000000000000000000000000000000000000000000060448201526064016102a1565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808616936201000090930416917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f91a36000805473ffffffffffffffffffffffffffffffffffffffff80851662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091178255600180549186167fffffffffffffffffffffffff0000000000000000000000000000000000000000909216821790556040519091907f8373d66f353a1c04bf00fefa417d400cd22b0c1ed46832f1b765ebc55b03c439908290a380156105ee57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff163314610ae9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f742061646d696e000000000000000000000000000000000000000000000060448201526064016102a1565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516936201000090930416917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f91a36000805473ffffffffffffffffffffffffffffffffffffffff90921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b6001546040517ff851a4400000000000000000000000000000000000000000000000000000000081526000918291829173ffffffffffffffffffffffffffffffffffffffff16906004015b600060405180830381855afa9150503d8060008114610c08576040519150601f19603f3d011682016040523d82523d6000602084013e610c0d565b606091505b509150915081610c1c57600080fd5b80806020019051810190610c309190610dbf565b9250505090565b6001546040517f5c60da1b0000000000000000000000000000000000000000000000000000000081526000918291829173ffffffffffffffffffffffffffffffffffffffff1690600401610bcd565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff163314610d0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f742061646d696e000000000000000000000000000000000000000000000060448201526064016102a1565b60015460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8373d66f353a1c04bf00fefa417d400cd22b0c1ed46832f1b765ebc55b03c43990600090a3600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600060208284031215610dad57600080fd5b8135610db881610fe0565b9392505050565b600060208284031215610dd157600080fd5b8151610db881610fe0565b60008060408385031215610def57600080fd5b8235610dfa81610fe0565b91506020830135610e0a81610fe0565b809150509250929050565b60008060408385031215610e2857600080fd5b8235610e3381610fe0565b9150602083013567ffffffffffffffff80821115610e5057600080fd5b818501915085601f830112610e6457600080fd5b813581811115610e7657610e76610fb1565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610ebc57610ebc610fb1565b81604052828152886020848701011115610ed557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008251610f09818460208701610f81565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260008251806040840152610f4e816060850160208701610f81565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b60005b83811015610f9c578181015183820152602001610f84565b83811115610fab576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461100257600080fd5b5056fea26469706673582212206a66cb2212388e1400822226187a15b49042a2cf558a647034b9cfbd7e1c61b064736f6c63430008060033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.