ETH Price: $1,986.92 (+0.67%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
Age
From
To
Withdraw164609752023-01-22 7:53:11789 days ago1674373991IN
0xA45f70aD...dC591C6d2
0 ETH0.0026457815.00292212
Claim_rewards159859422022-11-16 23:44:23856 days ago1668642263IN
0xA45f70aD...dC591C6d2
0 ETH0.0013762214.35588751
Claim_rewards159510502022-11-12 2:48:11861 days ago1668221291IN
0xA45f70aD...dC591C6d2
0 ETH0.001515815.81187753
Withdraw159441622022-11-11 3:42:23862 days ago1668138143IN
0xA45f70aD...dC591C6d2
0 ETH0.0042159520.54178318
Claim_rewards159438732022-11-11 2:44:11862 days ago1668134651IN
0xA45f70aD...dC591C6d2
0 ETH0.0016766617.48988236
Claim_rewards159433722022-11-11 1:02:59862 days ago1668128579IN
0xA45f70aD...dC591C6d2
0 ETH0.0015084615.73534549
Withdraw159427252022-11-10 22:52:47862 days ago1668120767IN
0xA45f70aD...dC591C6d2
0 ETH0.0041075720.94865884
Withdraw159424882022-11-10 22:05:11862 days ago1668117911IN
0xA45f70aD...dC591C6d2
0 ETH0.0044288923.5406613
Claim_rewards159292592022-11-09 1:41:35864 days ago1667958095IN
0xA45f70aD...dC591C6d2
0 ETH0.0013345213.92086726
Claim_rewards159097312022-11-06 8:17:47866 days ago1667722667IN
0xA45f70aD...dC591C6d2
0 ETH0.0010878111.34736806
Claim_rewards158898942022-11-03 13:48:35869 days ago1667483315IN
0xA45f70aD...dC591C6d2
0 ETH0.0015579816.25189758
Deposit158797932022-11-02 3:56:59871 days ago1667361419IN
0xA45f70aD...dC591C6d2
0 ETH0.0023270212.01989533
Withdraw158797832022-11-02 3:54:59871 days ago1667361299IN
0xA45f70aD...dC591C6d2
0 ETH0.0025148212.41949971
Claim_rewards158785482022-11-01 23:46:11871 days ago1667346371IN
0xA45f70aD...dC591C6d2
0 ETH0.0010710111.1720848
Claim_rewards158588932022-10-30 5:49:35873 days ago1667108975IN
0xA45f70aD...dC591C6d2
0 ETH0.000724457.5570365
Claim_rewards158537692022-10-29 12:39:11874 days ago1667047151IN
0xA45f70aD...dC591C6d2
0 ETH0.0011831912.34234724
Claim_rewards158498632022-10-28 23:32:35875 days ago1666999955IN
0xA45f70aD...dC591C6d2
0 ETH0.0015085711.59860381
Claim_rewards158357752022-10-27 0:17:47877 days ago1666829867IN
0xA45f70aD...dC591C6d2
0 ETH0.0011754712.26174509
Claim_rewards158231162022-10-25 5:50:11878 days ago1666677011IN
0xA45f70aD...dC591C6d2
0 ETH0.0013101911.59823997
Deposit158221942022-10-25 2:45:23879 days ago1666665923IN
0xA45f70aD...dC591C6d2
0 ETH0.0032747314.97787443
Deposit158168682022-10-24 8:47:47879 days ago1666601267IN
0xA45f70aD...dC591C6d2
0 ETH0.001604369.86766742
Claim_rewards158156822022-10-24 4:48:59880 days ago1666586939IN
0xA45f70aD...dC591C6d2
0 ETH0.0012281610.87212119
Deposit158114052022-10-23 14:27:47880 days ago1666535267IN
0xA45f70aD...dC591C6d2
0 ETH0.0032961914.46979756
Withdraw158111802022-10-23 13:42:47880 days ago1666532567IN
0xA45f70aD...dC591C6d2
0 ETH0.0039677418.06985636
Deposit158111632022-10-23 13:39:23880 days ago1666532363IN
0xA45f70aD...dC591C6d2
0 ETH0.00514822.60019708
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x5cFF25C3...dD4AC7fF0
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
DfxUpgradeableProxy

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license
File 1 of 9 : DfxUpgradeableProxy.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.7;
import "TransparentUpgradeableProxy.sol";
contract DfxUpgradeableProxy is TransparentUpgradeableProxy {
constructor(
address _logic,
address _admin,
bytes memory _data
) TransparentUpgradeableProxy(_logic, _admin, _data) {}
function getAdmin() public view returns (address) {
return _getAdmin();
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 9 : TransparentUpgradeableProxy.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (proxy/transparent/TransparentUpgradeableProxy.sol)
pragma solidity ^0.8.0;
import "ERC1967Proxy.sol";
/**
* @dev This contract implements a proxy that is upgradeable by an admin.
*
* To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector
* clashing], which can potentially be used in an attack, this contract uses the
* https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two
* things that go hand in hand:
*
* 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if
* that call matches one of the admin functions exposed by the proxy itself.
* 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the
* implementation. If the admin tries to call a function on the implementation it will fail with an error that says
* "admin cannot fallback to proxy target".
*
* These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing
* the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due
* to sudden errors when trying to call a function from the proxy implementation.
*
* Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way,
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 3 of 9 : ERC1967Proxy.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (proxy/ERC1967/ERC1967Proxy.sol)
pragma solidity ^0.8.0;
import "Proxy.sol";
import "ERC1967Upgrade.sol";
/**
* @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an
* implementation address that can be changed. This address is stored in storage in the location specified by
* https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the
* implementation behind the proxy.
*/
contract ERC1967Proxy is Proxy, ERC1967Upgrade {
/**
* @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`.
*
* If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded
* function call, and allows initializating the storage of the proxy like a Solidity constructor.
*/
constructor(address _logic, bytes memory _data) payable {
assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1));
_upgradeToAndCall(_logic, _data, false);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 4 of 9 : Proxy.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.5.0) (proxy/Proxy.sol)
pragma solidity ^0.8.0;
/**
* @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
* instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to
* be specified by overriding the virtual {_implementation} function.
*
* Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a
* different contract through the {_delegate} function.
*
* The success and return data of the delegated call will be returned back to the caller of the proxy.
*/
abstract contract Proxy {
/**
* @dev Delegates the current call to `implementation`.
*
* This function does not return to its internal call site, it will return directly to the external caller.
*/
function _delegate(address implementation) internal virtual {
assembly {
// Copy msg.data. We take full control of memory in this inline assembly
// block because it will not return to Solidity code. We overwrite the
// Solidity scratch pad at memory position 0.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 5 of 9 : ERC1967Upgrade.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.5.0) (proxy/ERC1967/ERC1967Upgrade.sol)
pragma solidity ^0.8.2;
import "IBeacon.sol";
import "draft-IERC1822.sol";
import "Address.sol";
import "StorageSlot.sol";
/**
* @dev This abstract contract provides getters and event emitting update functions for
* https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots.
*
* _Available since v4.1._
*
* @custom:oz-upgrades-unsafe-allow delegatecall
*/
abstract contract ERC1967Upgrade {
// This is the keccak-256 hash of "eip1967.proxy.rollback" subtracted by 1
bytes32 private constant _ROLLBACK_SLOT = 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143;
/**
* @dev Storage slot with the address of the current implementation.
* This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
* validated in the constructor.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 6 of 9 : IBeacon.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (proxy/beacon/IBeacon.sol)
pragma solidity ^0.8.0;
/**
* @dev This is the interface that {BeaconProxy} expects of its beacon.
*/
interface IBeacon {
/**
* @dev Must return an address that can be used as a delegate call target.
*
* {BeaconProxy} will check that this address is a contract.
*/
function implementation() external view returns (address);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 7 of 9 : draft-IERC1822.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.5.0) (interfaces/draft-IERC1822.sol)
pragma solidity ^0.8.0;
/**
* @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified
* proxy whose upgrades are fully controlled by the current implementation.
*/
interface IERC1822Proxiable {
/**
* @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation
* address.
*
* IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks
* bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this
* function revert if invoked through a proxy.
*/
function proxiableUUID() external view returns (bytes32);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 8 of 9 : Address.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.5.0) (utils/Address.sol)
pragma solidity ^0.8.1;
/**
* @dev Collection of functions related to the address type
*/
library Address {
/**
* @dev Returns true if `account` is a contract.
*
* [IMPORTANT]
* ====
* It is unsafe to assume that an address for which this function returns
* false is an externally-owned account (EOA) and not a contract.
*
* Among others, `isContract` will return false for the following
* types of addresses:
*
* - an externally-owned account
* - a contract in construction
* - an address where a contract will be created
* - an address where a contract lived, but was destroyed
* ====
*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 9 of 9 : StorageSlot.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/StorageSlot.sol)
pragma solidity ^0.8.0;
/**
* @dev Library for reading and writing primitive types to specific storage slots.
*
* Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.
* This library helps with reading and writing to such slots without the need for inline assembly.
*
* The functions in this library return Slot structs that contain a `value` member that can be used to read or write.
*
* Example usage to set ERC1967 implementation slot:
* ```
* contract ERC1967 {
* bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
*
* function _getImplementation() internal view returns (address) {
* return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;
* }
*
* function _setImplementation(address newImplementation) internal {
* require(Address.isContract(newImplementation), "ERC1967: new implementation is not a contract");
* StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;
* }
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Settings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"evmVersion": "istanbul",
"optimizer": {
"enabled": true,
"runs": 200
},
"libraries": {
"DfxUpgradeableProxy.sol": {}
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"admin_","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"implementation_","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x6080604052600436106100595760003560e01c80633659cfe6146100705780634f1ef286146100905780635c60da1b146100a35780636e9960c3146100d45780638f283970146100e9578063f851a4401461010957610068565b366100685761006661011e565b005b61006661011e565b34801561007c57600080fd5b5061006661008b3660046106df565b610138565b61006661009e3660046106fa565b610175565b3480156100af57600080fd5b506100b86101dc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100e057600080fd5b506100b861020d565b3480156100f557600080fd5b506100666101043660046106df565b610217565b34801561011557600080fd5b506100b8610237565b610126610293565b610136610131610328565b610332565b565b610140610356565b6001600160a01b0316330361016d5761016a81604051806020016040528060008152506000610389565b50565b61016a61011e565b61017d610356565b6001600160a01b031633036101d4576101cf8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610389915050565b505050565b6101cf61011e565b60006101e6610356565b6001600160a01b03163303610202576101fd610328565b905090565b61020a61011e565b90565b60006101fd610356565b61021f610356565b6001600160a01b0316330361016d5761016a816103b4565b6000610241610356565b6001600160a01b03163303610202576101fd610356565b606061027d83836040518060600160405280602781526020016107f960279139610408565b9392505050565b6001600160a01b03163b151590565b61029b610356565b6001600160a01b031633036101365760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fd6104e5565b3660008037600080366000845af43d6000803e808015610351573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103928361050d565b60008251118061039f5750805b156101cf576103ae8383610258565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103dd610356565b604080516001600160a01b03928316815291841660208301520160405180910390a161016a8161054d565b60606001600160a01b0384163b6104705760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161031f565b600080856001600160a01b03168560405161048b91906107a9565b600060405180830381855af49150503d80600081146104c6576040519150601f19603f3d011682016040523d82523d6000602084013e6104cb565b606091505b50915091506104db8282866105f6565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61037a565b6105168161062f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105b25760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161031f565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060831561060557508161027d565b8251156106155782518084602001fd5b8160405162461bcd60e51b815260040161031f91906107c5565b6001600160a01b0381163b61069c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161031f565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6105d5565b80356001600160a01b03811681146106da57600080fd5b919050565b6000602082840312156106f157600080fd5b61027d826106c3565b60008060006040848603121561070f57600080fd5b610718846106c3565b9250602084013567ffffffffffffffff8082111561073557600080fd5b818601915086601f83011261074957600080fd5b81358181111561075857600080fd5b87602082850101111561076a57600080fd5b6020830194508093505050509250925092565b60005b83811015610798578181015183820152602001610780565b838111156103ae5750506000910152565b600082516107bb81846020870161077d565b9190910192915050565b60208152600082518060208401526107e481604085016020870161077d565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122089b50f2fc262f3027540915b5112fe7c18da3da2d90ed176fc4d21d34e1e80f964736f6c634300080e0033

Block Age Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Age Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Age Amount
View All Withdrawals

Transaction Hash Block Age Value Eth2 PubKey Valid
View All Deposits
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.