ETH Price: $2,564.45 (-16.91%)
 

Overview

Max Total Supply

999 DI

Holders

418

Total Transfers

-

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A

Other Info

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
TransparentUpgradeableProxy

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 4 : ERC1967Trans.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
// SPDX-License-Identifier: GPL-3.0
    
// --- Bruno721Drop Contract. ---
// --- Don't Copy. Be careful your asset ---
pragma solidity ^0.8.7;
import "./ERC1967Proxy.sol";
contract TransparentUpgradeableProxy is ERC1967Proxy {
/**
* @dev Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and
* optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}.
*/
constructor(address _logic) payable ERC1967Proxy(_logic, bytes("")) {}
/**
* @dev Returns the current implementation.
*
* NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}.
*
* TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the
* https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.
* `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
*/
function implementation() public view returns (address) {
return _implementation();
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 4 : 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
// SPDX-License-Identifier: GPL-3.0
    
// --- Bruno721Drop Contract. ---
// --- Don't Copy. Be careful your asset ---
pragma solidity ^0.8.7;
import "./proxy.sol";
import "./ERC1967Upgrade.sol";
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 initializing the storage of the proxy like a Solidity constructor.
*/
constructor(address _logic, bytes memory _data) payable {
_upgradeToAndCall(_logic, _data, false);
}
/**
* @dev Returns the current implementation address.
*/
function _implementation() internal view virtual override returns (address impl) {
return ERC1967Upgrade._getImplementation();
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 3 of 4 : 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
// SPDX-License-Identifier: GPL-3.0
    
// --- Bruno721Drop Contract. ---
// --- Don't Copy. Be careful your asset ---
pragma solidity ^0.8.7;
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.
*/
bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
/**
* @dev Emitted when the implementation is upgraded.
*/
event Upgraded(address indexed implementation);
/**
* @dev Returns the current implementation address.
*/
function _getImplementation() internal view returns (address) {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 4 of 4 : 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
// SPDX-License-Identifier: GPL-3.0
    
pragma solidity ^0.8.7;
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.
calldatacopy(0, 0, calldatasize())
// Call the implementation.
// out and outsize are 0 because we don't know the size yet.
let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)
// Copy the returned data.
returndatacopy(0, 0, returndatasize())
switch result
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Settings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_logic","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040516103883803806103888339818101604052810190610025919061019d565b80604051806020016040528060008152506100488282600061005060201b60201c565b5050506101ca565b61005f8361006460201b60201c565b505050565b610073816100b960201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b806100ec7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61013060201b60201c565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000819050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061016a8261013f565b9050919050565b61017a8161015f565b811461018557600080fd5b50565b60008151905061019781610171565b92915050565b6000602082840312156101b3576101b261013a565b5b60006101c184828501610188565b91505092915050565b6101af806101d96000396000f3fe6080604052600436106100225760003560e01c80635c60da1b1461003b57610031565b366100315761002f610066565b005b610039610066565b005b34801561004757600080fd5b50610050610078565b60405161005d919061015e565b60405180910390f35b610076610071610087565b610096565b565b6000610082610087565b905090565b60006100916100bc565b905090565b3660008037600080366000845af43d6000803e80600081146100b7573d6000f35b3d6000fd5b60006100ea7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b610113565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101488261011d565b9050919050565b6101588161013d565b82525050565b6000602082019050610173600083018461014f565b9291505056fea2646970667358221220147eda4325b0e116158e9e05acd3e0759571709c52a6533c9efe554ae1b75d9b64736f6c63430008110033000000000000000000000000b038e47399aef432fdfd117c0d83b0fb6e9eff85

Deployed Bytecode

0x6080604052600436106100225760003560e01c80635c60da1b1461003b57610031565b366100315761002f610066565b005b610039610066565b005b34801561004757600080fd5b50610050610078565b60405161005d919061015e565b60405180910390f35b610076610071610087565b610096565b565b6000610082610087565b905090565b60006100916100bc565b905090565b3660008037600080366000845af43d6000803e80600081146100b7573d6000f35b3d6000fd5b60006100ea7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b610113565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101488261011d565b9050919050565b6101588161013d565b82525050565b6000602082019050610173600083018461014f565b9291505056fea2646970667358221220147eda4325b0e116158e9e05acd3e0759571709c52a6533c9efe554ae1b75d9b64736f6c63430008110033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000b038e47399aef432fdfd117c0d83b0fb6e9eff85

-----Decoded View---------------
Arg [0] : _logic (address): 0xB038E47399aEF432FdFd117c0D83b0Fb6e9EFf85

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b038e47399aef432fdfd117c0d83b0fb6e9eff85


Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.