Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000 ₡ABIN
Holders
153
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MirrorProxy
Compiler Version
v0.8.6+commit.11564f7e
Optimization Enabled:
Yes with 2000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity 0.8.6; /** * @title MirrorProxy * @author MirrorXYZ * The MirrorProxy contract is used to deploy minimal contracts for multiple * economic producers on the Mirror ecosystem (e.g. crowdfunds, editions). The * proxies are used with the proxy-relayer pattern. The proxy delegates calls * to a relayer contract that calls into the storage contract. The proxy uses the * EIP-1967 standard to store the "implementation" logic, which in our case is * the relayer contract. The relayer logic is directly stored into the standard * slot using `sstore` in the constructor, and read using `sload` in the fallback * function. */ contract MirrorProxy { /** * @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; /** * @notice Initializes a proxy by delegating logic to the relayer, * and reverts if the call is not successful. Stores relayer logic. * @param relayer - the relayer holds the logic for all proxies * @param initializationData - initialization call */ constructor(address relayer, bytes memory initializationData) { // Delegatecall into the relayer, supplying initialization calldata. (bool ok, ) = relayer.delegatecall(initializationData); // Revert and include revert data if delegatecall to implementation reverts. if (!ok) { assembly { returndatacopy(0, 0, returndatasize()) revert(0, returndatasize()) } } assembly { sstore(_IMPLEMENTATION_SLOT, relayer) } } /** * @notice When any function is called on this contract, we delegate to * the logic contract stored in the implementation storage slot. */ fallback() external payable { assembly { let ptr := mload(0x40) calldatacopy(ptr, 0, calldatasize()) let result := delegatecall( gas(), sload(_IMPLEMENTATION_SLOT), ptr, calldatasize(), 0, 0 ) let size := returndatasize() returndatacopy(ptr, 0, size) switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } } }
{ "optimizer": { "enabled": true, "runs": 2000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"relayer","type":"address"},{"internalType":"bytes","name":"initializationData","type":"bytes"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161028238038061028283398101604081905261002f916100c5565b6000826001600160a01b0316826040516100499190610193565b600060405180830381855af49150503d8060008114610084576040519150601f19603f3d011682016040523d82523d6000602084013e610089565b606091505b505090508061009c573d6000803e3d6000fd5b50507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc556101f5565b600080604083850312156100d857600080fd5b82516001600160a01b03811681146100ef57600080fd5b60208401519092506001600160401b038082111561010c57600080fd5b818501915085601f83011261012057600080fd5b815181811115610132576101326101df565b604051601f8201601f19908116603f0116810190838211818310171561015a5761015a6101df565b8160405282815288602084870101111561017357600080fd5b6101848360208301602088016101af565b80955050505050509250929050565b600082516101a58184602087016101af565b9190910192915050565b60005b838110156101ca5781810151838201526020016101b2565b838111156101d9576000848401525b50505050565b634e487b7160e01b600052604160045260246000fd5b607f806102036000396000f3fe6080604052604051366000823760008036837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d806000843e8180156045578184f35b8184fdfea264697066735822122007dbd558715ae23a206103620ae265d840dc6216091d3210799b3b7f0a24734964736f6c6343000806003300000000000000000000000062294f4b4d6e3f1a189ac1a6518f8c861a830ff7000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001244fd35acb000000000000000000000000522c6b0aa5a14e1771aab5646247349ffa9e511100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000d3c21bcecceda100000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000007e282a14142494e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007e282a14142494e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052604051366000823760008036837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d806000843e8180156045578184f35b8184fdfea264697066735822122007dbd558715ae23a206103620ae265d840dc6216091d3210799b3b7f0a24734964736f6c63430008060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000062294f4b4d6e3f1a189ac1a6518f8c861a830ff7000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001244fd35acb000000000000000000000000522c6b0aa5a14e1771aab5646247349ffa9e511100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000d3c21bcecceda100000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000007e282a14142494e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007e282a14142494e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : relayer (address): 0x62294f4B4D6E3f1a189ac1a6518F8c861A830ff7
Arg [1] : initializationData (bytes): 0x4fd35acb000000000000000000000000522c6b0aa5a14e1771aab5646247349ffa9e511100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000d3c21bcecceda100000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000007e282a14142494e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007e282a14142494e00000000000000000000000000000000000000000000000000
-----Encoded View---------------
13 Constructor Arguments found :
Arg [0] : 00000000000000000000000062294f4b4d6e3f1a189ac1a6518f8c861a830ff7
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000124
Arg [3] : 4fd35acb000000000000000000000000522c6b0aa5a14e1771aab5646247349f
Arg [4] : fa9e511100000000000000000000000000000000000000000000000000000000
Arg [5] : 000000a000000000000000000000000000000000000000000000000000000000
Arg [6] : 000000e000000000000000000000000000000000000000000000d3c21bcecced
Arg [7] : a100000000000000000000000000000000000000000000000000000000000000
Arg [8] : 0000001200000000000000000000000000000000000000000000000000000000
Arg [9] : 00000007e282a14142494e000000000000000000000000000000000000000000
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [11] : 00000007e282a14142494e000000000000000000000000000000000000000000
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000000
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.