ETH Price: $2,173.15 (+2.15%)

Token

ERC20 ***
 

Overview

Max Total Supply

4,394.130388 ERC20 ***

Holders

19

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
0.000002 ERC20 ***

Value
$0.00
0x161d2ac5a0ea8296314b70d5f2419539bc8e6e20
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

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

Contract Name:
TransparentProxy

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 6 : TransparentProxy.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// SPDX-License-Identifier: agpl-3.0
pragma solidity ^0.8.4;
import '../../dependencies/openzeppelin/contracts/Address.sol';
import '../../dependencies/openzeppelin/upgradeability/BaseUpgradeabilityProxy.sol';
import './TransparentProxyBase.sol';
/// @dev This contract is a transparent upgradeability proxy with admin. The admin role is immutable.
contract TransparentProxy is TransparentProxyBase {
constructor(
address admin,
address logic,
bytes memory data
) TransparentProxyBase(admin) {
_setImplementation(logic);
if (data.length > 0) {
Address.functionDelegateCall(logic, data);
}
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 6 : 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
pragma solidity ^0.8.4;
// solhint-disable no-inline-assembly, avoid-low-level-calls
/**
* @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 3 of 6 : BaseUpgradeabilityProxy.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: agpl-3.0
pragma solidity ^0.8.4;
import './Proxy.sol';
import '../contracts/Address.sol';
/**
* @title BaseUpgradeabilityProxy
* @dev This contract implements a proxy that allows to change the
* implementation address to which it will delegate.
* Such a change is called an implementation upgrade.
*/
contract BaseUpgradeabilityProxy is Proxy {
/**
* @dev Emitted when the implementation is upgraded.
* @param implementation Address of the new implementation.
*/
event Upgraded(address indexed implementation);
/**
* @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;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 4 of 6 : TransparentProxyBase.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: agpl-3.0
pragma solidity ^0.8.4;
import '../../dependencies/openzeppelin/contracts/Address.sol';
import '../../dependencies/openzeppelin/upgradeability/BaseUpgradeabilityProxy.sol';
import './IProxy.sol';
/// @dev This contract is a transparent upgradeability proxy with admin. The admin role is immutable.
abstract contract TransparentProxyBase is BaseUpgradeabilityProxy, IProxy {
bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;
constructor(address admin) {
require(admin != address(0));
assert(IMPLEMENTATION_SLOT == bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1));
assert(ADMIN_SLOT == bytes32(uint256(keccak256('eip1967.proxy.admin')) - 1));
bytes32 slot = ADMIN_SLOT;
// solhint-disable-next-line no-inline-assembly
assembly {
sstore(slot, admin)
}
}
modifier ifAdmin() {
if (msg.sender == _admin()) {
_;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 5 of 6 : 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: agpl-3.0
pragma solidity ^0.8.4;
/**
* @title Proxy
* @dev Implements delegation of calls to other contracts, with proper
* forwarding of return values and bubbling of failures.
* It defines a fallback function that delegates all calls to the address
* returned by the abstract _implementation() internal function.
*/
abstract contract Proxy {
/**
* @dev Fallback function.
* Implemented entirely in `_fallback`.
*/
fallback() external payable {
_fallback();
}
receive() external payable {
_fallback();
}
/**
* @return The Address of the implementation.
*/
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 6 of 6 : IProxy.sol
1
2
3
4
5
6
// SPDX-License-Identifier: agpl-3.0
pragma solidity ^0.8.4;
interface IProxy {
function upgradeToAndCall(address newImplementation, bytes calldata data) external payable;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"logic","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","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":"impl","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"logic","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b5060405162000b7038038062000b7083398101604081905262000034916200034f565b826001600160a01b0381166200004957600080fd5b6200007660017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6200047e565b60008051602062000b2983398151915214620000a257634e487b7160e01b600052600160045260246000fd5b620000cf60017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61046200047e565b60008051602062000b0983398151915214620000fb57634e487b7160e01b600052600160045260246000fd5b60008051602062000b0983398151915255620001178262000141565b8051156200013857620001368282620001e260201b620001cd1760201c565b505b505050620004eb565b62000157816200021160201b620001f91760201c565b620001cf5760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000060648201526084015b60405180910390fd5b60008051602062000b2983398151915255565b60606200020a838360405180606001604052806027815260200162000b496027913962000217565b9392505050565b3b151590565b6060833b620002785760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401620001c6565b600080856001600160a01b0316856040516200029591906200042b565b600060405180830381855af49150503d8060008114620002d2576040519150601f19603f3d011682016040523d82523d6000602084013e620002d7565b606091505b509092509050620002ea828286620002f4565b9695505050505050565b60608315620003055750816200020a565b825115620003165782518084602001fd5b8160405162461bcd60e51b8152600401620001c6919062000449565b80516001600160a01b03811681146200034a57600080fd5b919050565b60008060006060848603121562000364578283fd5b6200036f8462000332565b92506200037f6020850162000332565b60408501519092506001600160401b03808211156200039c578283fd5b818601915086601f830112620003b0578283fd5b815181811115620003c557620003c5620004d5565b604051601f8201601f19908116603f01168101908382118183101715620003f057620003f0620004d5565b8160405282815289602084870101111562000409578586fd5b6200041c836020830160208801620004a2565b80955050505050509250925092565b600082516200043f818460208701620004a2565b9190910192915050565b60208152600082518060208401526200046a816040850160208701620004a2565b601f01601f19169190910160400192915050565b6000828210156200049d57634e487b7160e01b81526011600452602481fd5b500390565b60005b83811015620004bf578181015183820152602001620004a5565b83811115620004cf576000848401525b50505050565b634e487b7160e01b600052604160045260246000fd5b61060e80620004fb6000396000f3fe60806040526004361061002d5760003560e01c80634f1ef286146100445780635c60da1b146100575761003c565b3661003c5761003a610088565b005b61003a610088565b61003a6100523660046104ab565b6100c2565b34801561006357600080fd5b5061006c610159565b6040516001600160a01b03909116815260200160405180910390f35b6100906101ff565b6100c06100bb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6102a2565b565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103546001600160a01b0316336001600160a01b0316141561014c57610106836102c6565b6101468383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506101cd92505050565b50505050565b610154610088565b505050565b60006101837fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6001600160a01b0316336001600160a01b031614156101c257507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6101ca610088565b90565b60606101f283836040518060600160405280602781526020016105b260279139610306565b9392505050565b3b151590565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103546001600160a01b0316336001600160a01b031614156100c05760405162461bcd60e51b815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527137b6903a343290383937bc3c9030b236b4b760711b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156102c1573d6000f35b3d6000fd5b6102cf816103da565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060833b6103655760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610299565b600080856001600160a01b0316856040516103809190610536565b600060405180830381855af49150503d80600081146103bb576040519150601f19603f3d011682016040523d82523d6000602084013e6103c0565b606091505b50915091506103d0828286610472565b9695505050505050565b803b61044e5760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e7472616374206164647265737300000000006064820152608401610299565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b606083156104815750816101f2565b8251156104915782518084602001fd5b8160405162461bcd60e51b81526004016102999190610552565b6000806000604084860312156104bf578283fd5b83356001600160a01b03811681146104d5578384fd5b9250602084013567ffffffffffffffff808211156104f1578384fd5b818601915086601f830112610504578384fd5b813581811115610512578485fd5b876020828501011115610523578485fd5b6020830194508093505050509250925092565b60008251610548818460208701610585565b9190910192915050565b6020815260008251806020840152610571816040850160208701610585565b601f01601f19169190910160400192915050565b60005b838110156105a0578181015183820152602001610588565b83811115610146575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205eb8930a105fb99b7417ccc4caef6c519816e7403a37417afdb8b4331582f9d464736f6c63430008040033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000c6f769a0c46cffa57d91e87ed3bc0cd338ce63610000000000000000000000003d7049e062cf5307ab4183a46c562ae06421e4dd00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000c6f769a0c46cffa57d91e87ed3bc0cd338ce636100000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061002d5760003560e01c80634f1ef286146100445780635c60da1b146100575761003c565b3661003c5761003a610088565b005b61003a610088565b61003a6100523660046104ab565b6100c2565b34801561006357600080fd5b5061006c610159565b6040516001600160a01b03909116815260200160405180910390f35b6100906101ff565b6100c06100bb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6102a2565b565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103546001600160a01b0316336001600160a01b0316141561014c57610106836102c6565b6101468383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506101cd92505050565b50505050565b610154610088565b505050565b60006101837fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6001600160a01b0316336001600160a01b031614156101c257507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6101ca610088565b90565b60606101f283836040518060600160405280602781526020016105b260279139610306565b9392505050565b3b151590565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103546001600160a01b0316336001600160a01b031614156100c05760405162461bcd60e51b815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527137b6903a343290383937bc3c9030b236b4b760711b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156102c1573d6000f35b3d6000fd5b6102cf816103da565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060833b6103655760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610299565b600080856001600160a01b0316856040516103809190610536565b600060405180830381855af49150503d80600081146103bb576040519150601f19603f3d011682016040523d82523d6000602084013e6103c0565b606091505b50915091506103d0828286610472565b9695505050505050565b803b61044e5760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e7472616374206164647265737300000000006064820152608401610299565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b606083156104815750816101f2565b8251156104915782518084602001fd5b8160405162461bcd60e51b81526004016102999190610552565b6000806000604084860312156104bf578283fd5b83356001600160a01b03811681146104d5578384fd5b9250602084013567ffffffffffffffff808211156104f1578384fd5b818601915086601f830112610504578384fd5b813581811115610512578485fd5b876020828501011115610523578485fd5b6020830194508093505050509250925092565b60008251610548818460208701610585565b9190910192915050565b6020815260008251806020840152610571816040850160208701610585565b601f01601f19169190910160400192915050565b60005b838110156105a0578181015183820152602001610588565b83811115610146575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205eb8930a105fb99b7417ccc4caef6c519816e7403a37417afdb8b4331582f9d464736f6c63430008040033

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.