Polygon Sponsored slots available. Book your slot here!
ERC-20
Smart Contract
Overview
Max Total Supply
420,690,000 GEL
Holders
2,169 ( 0.277%)
Market
Price
$0.3197 @ 0.458005 POL (+3.47%)
Onchain Market Cap
$134,498,767.34
Circulating Supply Market Cap
$71,856,274.66
Other Info
Token Contract (WITH 18 Decimals)
Balance
1.29 GELValue
$0.41 ( ~0.587351701198971 POL) [0.0000%]Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
EIP173Proxy
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0 pragma solidity 0.8.13; import "./Proxy.sol"; interface ERC165 { function supportsInterface(bytes4 id) external view returns (bool); } ///@notice Proxy implementing EIP173 for ownership management contract EIP173Proxy is Proxy { // ////////////////////////// EVENTS /////////////////////////////////////////////////////////////////////// event ProxyAdminTransferred( address indexed previousAdmin, address indexed newAdmin ); // /////////////////////// CONSTRUCTOR ////////////////////////////////////////////////////////////////////// constructor( address implementationAddress, address adminAddress, bytes memory data ) payable { _setImplementation(implementationAddress, data); _setProxyAdmin(adminAddress); } // ///////////////////// EXTERNAL /////////////////////////////////////////////////////////////////////////// function proxyAdmin() external view returns (address) { return _proxyAdmin(); } function supportsInterface(bytes4 id) external view returns (bool) { if (id == 0x01ffc9a7 || id == 0x7f5828d0) { return true; } if (id == 0xFFFFFFFF) { return false; } ERC165 implementation; // solhint-disable-next-line security/no-inline-assembly assembly { implementation := sload( 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc ) } // Technically this is not standard compliant as ERC-165 require 30,000 gas which that call cannot ensure // because it is itself inside `supportsInterface` that might only get 30,000 gas. // In practise this is unlikely to be an issue. try implementation.supportsInterface(id) returns (bool support) { return support; } catch { return false; } } function transferProxyAdmin(address newAdmin) external onlyProxyAdmin { _setProxyAdmin(newAdmin); } function upgradeTo(address newImplementation) external onlyProxyAdmin { _setImplementation(newImplementation, ""); } function upgradeToAndCall(address newImplementation, bytes calldata data) external payable onlyProxyAdmin { _setImplementation(newImplementation, data); } // /////////////////////// MODIFIERS //////////////////////////////////////////////////////////////////////// modifier onlyProxyAdmin() { require(msg.sender == _proxyAdmin(), "NOT_AUTHORIZED"); _; } // ///////////////////////// INTERNAL ////////////////////////////////////////////////////////////////////// function _proxyAdmin() internal view returns (address adminAddress) { // solhint-disable-next-line security/no-inline-assembly assembly { adminAddress := sload( 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103 ) } } function _setProxyAdmin(address newAdmin) internal { address previousAdmin = _proxyAdmin(); // solhint-disable-next-line security/no-inline-assembly assembly { sstore( 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, newAdmin ) } emit ProxyAdminTransferred(previousAdmin, newAdmin); } }
// SPDX-License-Identifier: GPL-3.0 pragma solidity 0.8.13; // EIP-1967 abstract contract Proxy { // /////////////////////// EVENTS /////////////////////////////////////////////////////////////////////////// event ProxyImplementationUpdated( address indexed previousImplementation, address indexed newImplementation ); // ///////////////////// EXTERNAL /////////////////////////////////////////////////////////////////////////// // prettier-ignore receive() external payable virtual { revert("ETHER_REJECTED"); // explicit reject by default } fallback() external payable { _fallback(); } // ///////////////////////// INTERNAL ////////////////////////////////////////////////////////////////////// function _fallback() internal { // solhint-disable-next-line security/no-inline-assembly assembly { let implementationAddress := sload( 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc ) calldatacopy(0x0, 0x0, calldatasize()) let success := delegatecall( gas(), implementationAddress, 0x0, calldatasize(), 0, 0 ) let retSz := returndatasize() returndatacopy(0, 0, retSz) switch success case 0 { revert(0, retSz) } default { return(0, retSz) } } } function _setImplementation(address newImplementation, bytes memory data) internal { address previousImplementation; // solhint-disable-next-line security/no-inline-assembly assembly { previousImplementation := sload( 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc ) } // solhint-disable-next-line security/no-inline-assembly assembly { sstore( 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, newImplementation ) } emit ProxyImplementationUpdated( previousImplementation, newImplementation ); if (data.length > 0) { (bool success, ) = newImplementation.delegatecall(data); if (!success) { assembly { // This assembly ensure the revert contains the exact string data let returnDataSize := returndatasize() returndatacopy(0, 0, returnDataSize) revert(0, returnDataSize) } } } } }
{ "evmVersion": "london", "libraries": {}, "metadata": { "bytecodeHash": "ipfs", "useLiteralContent": true }, "optimizer": { "enabled": true, "runs": 200 }, "remappings": [], "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"implementationAddress","type":"address"},{"internalType":"address","name":"adminAddress","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"}],"name":"ProxyAdminTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousImplementation","type":"address"},{"indexed":true,"internalType":"address","name":"newImplementation","type":"address"}],"name":"ProxyImplementationUpdated","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"proxyAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"id","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"transferProxyAdmin","outputs":[],"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"}]
Contract Creation Code
6080604052604051620009e3380380620009e3833981016040819052610024916101ea565b61002e838261003f565b6100378261011b565b5050506102d6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8054908390556040516001600160a01b0380851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a3815115610116576000836001600160a01b0316836040516100c091906102ba565b600060405180830381855af49150503d80600081146100fb576040519150601f19603f3d011682016040523d82523d6000602084013e610100565b606091505b5050905080610114573d806000803e806000fd5b505b505050565b6000610134600080516020620009c38339815191525490565b905081600080516020620009c383398151915255816001600160a01b0316816001600160a01b03167fdf435d422321da6b195902d70fc417c06a32f88379c20dd8f2a8da07088cec2960405160405180910390a35050565b80516001600160a01b03811681146101a357600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101d95781810151838201526020016101c1565b838111156101145750506000910152565b6000806000606084860312156101ff57600080fd5b6102088461018c565b92506102166020850161018c565b60408501519092506001600160401b038082111561023357600080fd5b818601915086601f83011261024757600080fd5b815181811115610259576102596101a8565b604051601f8201601f19908116603f01168101908382118183101715610281576102816101a8565b8160405282815289602084870101111561029a57600080fd5b6102ab8360208301602088016101be565b80955050505050509250925092565b600082516102cc8184602087016101be565b9190910192915050565b6106dd80620002e66000396000f3fe60806040526004361061004e5760003560e01c806301ffc9a71461009b5780633659cfe6146100d05780633e47158c146100f05780634f1ef2861461011d5780638356ca4f1461013057610091565b366100915760405162461bcd60e51b815260206004820152600e60248201526d115512115497d491529150d5115160921b60448201526064015b60405180910390fd5b610099610150565b005b3480156100a757600080fd5b506100bb6100b636600461051e565b61019b565b60405190151581526020015b60405180910390f35b3480156100dc57600080fd5b506100996100eb366004610564565b610293565b3480156100fc57600080fd5b506101056102ef565b6040516001600160a01b0390911681526020016100c7565b61009961012b36600461057f565b61030c565b34801561013c57600080fd5b5061009961014b366004610564565b610391565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460003681823780813683855af491503d8082833e828015610191578183f35b8183fd5b50505050565b60006301ffc9a760e01b6001600160e01b0319831614806101cc57506307f5828d60e41b6001600160e01b03198316145b156101d957506001919050565b6001600160e01b031980831690036101f357506000919050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546040516301ffc9a760e01b81526001600160e01b0319841660048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa92505050801561027f575060408051601f3d908101601f1916820190925261027c91810190610602565b60015b61028c5750600092915050565b9392505050565b600080516020610688833981519152546001600160a01b0316336001600160a01b0316146102d35760405162461bcd60e51b815260040161008890610624565b6102ec81604051806020016040528060008152506103da565b50565b60006103076000805160206106888339815191525490565b905090565b600080516020610688833981519152546001600160a01b0316336001600160a01b03161461034c5760405162461bcd60e51b815260040161008890610624565b61038c8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103da92505050565b505050565b600080516020610688833981519152546001600160a01b0316336001600160a01b0316146103d15760405162461bcd60e51b815260040161008890610624565b6102ec816104af565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8054908390556040516001600160a01b0380851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a381511561038c576000836001600160a01b03168360405161045b919061064c565b600060405180830381855af49150503d8060008114610496576040519150601f19603f3d011682016040523d82523d6000602084013e61049b565b606091505b5050905080610195573d806000803e806000fd5b60006104c76000805160206106888339815191525490565b90508160008051602061068883398151915255816001600160a01b0316816001600160a01b03167fdf435d422321da6b195902d70fc417c06a32f88379c20dd8f2a8da07088cec2960405160405180910390a35050565b60006020828403121561053057600080fd5b81356001600160e01b03198116811461028c57600080fd5b80356001600160a01b038116811461055f57600080fd5b919050565b60006020828403121561057657600080fd5b61028c82610548565b60008060006040848603121561059457600080fd5b61059d84610548565b9250602084013567ffffffffffffffff808211156105ba57600080fd5b818601915086601f8301126105ce57600080fd5b8135818111156105dd57600080fd5b8760208285010111156105ef57600080fd5b6020830194508093505050509250925092565b60006020828403121561061457600080fd5b8151801515811461028c57600080fd5b6020808252600e908201526d1393d517d055551213d49256915160921b604082015260600190565b6000825160005b8181101561066d5760208186018101518583015201610653565b8181111561067c576000828501525b50919091019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a26469706673582212208b747fd244884f1880d7a2b1dc38d46cc32c6776d6d0d364f0edce4e2d6debf264736f6c634300080d0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000002e9bede1ba0fa5a08ade54b18cd06df5720fbb1a0000000000000000000000006404abbba1921267a7d8199300973fef7dbb0b3a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001046fe0e395000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000151800000000000000000000000000000000000000000015bfc9298de952e2f400000000000000000000000000000000000000000000000000000000000000000001447656c61746f204e6574776f726b20546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000347454c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361061004e5760003560e01c806301ffc9a71461009b5780633659cfe6146100d05780633e47158c146100f05780634f1ef2861461011d5780638356ca4f1461013057610091565b366100915760405162461bcd60e51b815260206004820152600e60248201526d115512115497d491529150d5115160921b60448201526064015b60405180910390fd5b610099610150565b005b3480156100a757600080fd5b506100bb6100b636600461051e565b61019b565b60405190151581526020015b60405180910390f35b3480156100dc57600080fd5b506100996100eb366004610564565b610293565b3480156100fc57600080fd5b506101056102ef565b6040516001600160a01b0390911681526020016100c7565b61009961012b36600461057f565b61030c565b34801561013c57600080fd5b5061009961014b366004610564565b610391565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460003681823780813683855af491503d8082833e828015610191578183f35b8183fd5b50505050565b60006301ffc9a760e01b6001600160e01b0319831614806101cc57506307f5828d60e41b6001600160e01b03198316145b156101d957506001919050565b6001600160e01b031980831690036101f357506000919050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546040516301ffc9a760e01b81526001600160e01b0319841660048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa92505050801561027f575060408051601f3d908101601f1916820190925261027c91810190610602565b60015b61028c5750600092915050565b9392505050565b600080516020610688833981519152546001600160a01b0316336001600160a01b0316146102d35760405162461bcd60e51b815260040161008890610624565b6102ec81604051806020016040528060008152506103da565b50565b60006103076000805160206106888339815191525490565b905090565b600080516020610688833981519152546001600160a01b0316336001600160a01b03161461034c5760405162461bcd60e51b815260040161008890610624565b61038c8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103da92505050565b505050565b600080516020610688833981519152546001600160a01b0316336001600160a01b0316146103d15760405162461bcd60e51b815260040161008890610624565b6102ec816104af565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8054908390556040516001600160a01b0380851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a381511561038c576000836001600160a01b03168360405161045b919061064c565b600060405180830381855af49150503d8060008114610496576040519150601f19603f3d011682016040523d82523d6000602084013e61049b565b606091505b5050905080610195573d806000803e806000fd5b60006104c76000805160206106888339815191525490565b90508160008051602061068883398151915255816001600160a01b0316816001600160a01b03167fdf435d422321da6b195902d70fc417c06a32f88379c20dd8f2a8da07088cec2960405160405180910390a35050565b60006020828403121561053057600080fd5b81356001600160e01b03198116811461028c57600080fd5b80356001600160a01b038116811461055f57600080fd5b919050565b60006020828403121561057657600080fd5b61028c82610548565b60008060006040848603121561059457600080fd5b61059d84610548565b9250602084013567ffffffffffffffff808211156105ba57600080fd5b818601915086601f8301126105ce57600080fd5b8135818111156105dd57600080fd5b8760208285010111156105ef57600080fd5b6020830194508093505050509250925092565b60006020828403121561061457600080fd5b8151801515811461028c57600080fd5b6020808252600e908201526d1393d517d055551213d49256915160921b604082015260600190565b6000825160005b8181101561066d5760208186018101518583015201610653565b8181111561067c576000828501525b50919091019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a26469706673582212208b747fd244884f1880d7a2b1dc38d46cc32c6776d6d0d364f0edce4e2d6debf264736f6c634300080d0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000002e9bede1ba0fa5a08ade54b18cd06df5720fbb1a0000000000000000000000006404abbba1921267a7d8199300973fef7dbb0b3a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001046fe0e395000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000151800000000000000000000000000000000000000000015bfc9298de952e2f400000000000000000000000000000000000000000000000000000000000000000001447656c61746f204e6574776f726b20546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000347454c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : implementationAddress (address): 0x2e9BedE1BA0fA5a08AdE54b18Cd06df5720fBb1A
Arg [1] : adminAddress (address): 0x6404aBbba1921267A7D8199300973FeF7DBb0b3a
Arg [2] : data (bytes): 0x6fe0e395000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000151800000000000000000000000000000000000000000015bfc9298de952e2f400000000000000000000000000000000000000000000000000000000000000000001447656c61746f204e6574776f726b20546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000347454c0000000000000000000000000000000000000000000000000000000000
-----Encoded View---------------
13 Constructor Arguments found :
Arg [0] : 0000000000000000000000002e9bede1ba0fa5a08ade54b18cd06df5720fbb1a
Arg [1] : 0000000000000000000000006404abbba1921267a7d8199300973fef7dbb0b3a
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000104
Arg [4] : 6fe0e39500000000000000000000000000000000000000000000000000000000
Arg [5] : 0000008000000000000000000000000000000000000000000000000000000000
Arg [6] : 000000c000000000000000000000000000000000000000000000000000000000
Arg [7] : 000151800000000000000000000000000000000000000000015bfc9298de952e
Arg [8] : 2f40000000000000000000000000000000000000000000000000000000000000
Arg [9] : 0000001447656c61746f204e6574776f726b20546f6b656e0000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [11] : 0000000347454c00000000000000000000000000000000000000000000000000
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000000
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.