Feature Tip: Add private address tag to any address under My Name Tag !
NFT
Overview
TokenID
1932
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Proxy
Compiler Version
v0.8.7+commit.e28d00a7
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.8.7; /** * @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. */ contract Proxy { address implementation_; address public admin; constructor(address impl) { implementation_ = impl; admin = msg.sender; } receive() external payable {} function setImplementation(address newImpl) public { require(msg.sender == admin); implementation_ = newImpl; } function implementation() public view returns (address impl) { impl = implementation_; } /** * @dev Delegates the current call to `implementation`. * * This function does not return to its internall 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 // delegatecall returns 0 on error. case 0 { revert(0, returndatasize()) } default { return(0, returndatasize()) } } } /** * @dev This is a virtual function that should be overriden so it returns the address to which the fallback function * and {_fallback} should delegate. */ function _implementation() internal view returns (address) { return implementation_; } /** * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other * function in the contract matches the call data. */ fallback() external payable virtual { _delegate(_implementation()); } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newImpl","type":"address"}],"name":"setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161023038038061023083398101604081905261002f9161005d565b600080546001600160a01b039092166001600160a01b0319928316179055600180549091163317905561008d565b60006020828403121561006f57600080fd5b81516001600160a01b038116811461008657600080fd5b9392505050565b6101948061009c6000396000f3fe6080604052600436106100385760003560e01c80635c60da1b1461005b578063d784d42614610091578063f851a440146100b15761003f565b3661003f57005b6100596100546000546001600160a01b031690565b6100d1565b005b34801561006757600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b34801561009d57600080fd5b506100596100ac36600461012e565b6100f5565b3480156100bd57600080fd5b50600154610075906001600160a01b031681565b3660008037600080366000845af43d6000803e8080156100f0573d6000f35b3d6000fd5b6001546001600160a01b0316331461010c57600080fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014057600080fd5b81356001600160a01b038116811461015757600080fd5b939250505056fea2646970667358221220001de39dde5e7ae91a3354c2a773b0bb0ace15287bf25bdcfe0a0bfa11b586b764736f6c6343000807003300000000000000000000000019330e05464f8c6e671e7be24a8b220874ee082b
Deployed Bytecode
0x6080604052600436106100385760003560e01c80635c60da1b1461005b578063d784d42614610091578063f851a440146100b15761003f565b3661003f57005b6100596100546000546001600160a01b031690565b6100d1565b005b34801561006757600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b34801561009d57600080fd5b506100596100ac36600461012e565b6100f5565b3480156100bd57600080fd5b50600154610075906001600160a01b031681565b3660008037600080366000845af43d6000803e8080156100f0573d6000f35b3d6000fd5b6001546001600160a01b0316331461010c57600080fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014057600080fd5b81356001600160a01b038116811461015757600080fd5b939250505056fea2646970667358221220001de39dde5e7ae91a3354c2a773b0bb0ace15287bf25bdcfe0a0bfa11b586b764736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000019330e05464f8c6e671e7be24a8b220874ee082b
-----Decoded View---------------
Arg [0] : impl (address): 0x19330e05464f8c6E671E7bE24a8B220874Ee082B
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000019330e05464f8c6e671e7be24a8b220874ee082b
Loading...
Loading
Loading...
Loading
[ 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.