ERC-20
Overview
Max Total Supply
10,000 MPond
Holders
481
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000000000286789205 MPondValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MPondProxy
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-12-16 */ pragma solidity >=0.4.21 <0.7.0; contract MPondProxy { bytes32 internal constant IMPLEMENTATION_SLOT = bytes32( uint256(keccak256("eip1967.proxy.implementation")) - 1 ); bytes32 internal constant PROXY_ADMIN_SLOT = bytes32( uint256(keccak256("eip1967.proxy.admin")) - 1 ); constructor(address contractLogic, address proxyAdmin) public { // save the code address bytes32 slot = IMPLEMENTATION_SLOT; assembly { sstore(slot, contractLogic) } // save the proxy admin slot = PROXY_ADMIN_SLOT; address sender = proxyAdmin; assembly { sstore(slot, sender) } } function updateAdmin(address _newAdmin) public { require( msg.sender == getAdmin(), "Only the current admin should be able to new admin" ); bytes32 slot = PROXY_ADMIN_SLOT; assembly { sstore(slot, _newAdmin) } } /// @author Marlin /// @dev Only admin can update the contract /// @param _newLogic address is the address of the contract that has to updated to function updateLogic(address _newLogic) public { require( msg.sender == getAdmin(), "Only Admin should be able to update the contracts" ); bytes32 slot = IMPLEMENTATION_SLOT; assembly { sstore(slot, _newLogic) } } /// @author Marlin /// @dev use assembly as contract store slot is manually decided function getAdmin() internal view returns (address result) { bytes32 slot = PROXY_ADMIN_SLOT; assembly { result := sload(slot) } } /// @author Marlin /// @dev add functionality to forward the balance as well. function() external payable { bytes32 slot = IMPLEMENTATION_SLOT; assembly { let contractLogic := sload(slot) calldatacopy(0x0, 0x0, calldatasize()) let success := delegatecall( sub(gas(), 10000), contractLogic, 0x0, calldatasize(), 0, 0 ) let retSz := returndatasize() returndatacopy(0, 0, retSz) switch success case 0 { revert(0, retSz) } default { return(0, retSz) } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"contractLogic","type":"address"},{"internalType":"address","name":"proxyAdmin","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[{"internalType":"address","name":"_newAdmin","type":"address"}],"name":"updateAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newLogic","type":"address"}],"name":"updateLogic","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516104973803806104978339818101604052604081101561003357600080fd5b508051602090910151604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152815190819003601c018120600019908101949094557f656970313936372e70726f78792e61646d696e0000000000000000000000000081529051908190036013019020909101556103de806100b96000396000f3fe6080604052600436106100295760003560e01c8063795e617e146100a8578063e2f273bd146100ea575b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180543660008037600080366000846127105a03f43d806000803e8180156100a357816000f35b816000fd5b3480156100b457600080fd5b506100e8600480360360208110156100cb57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661012a565b005b3480156100f657600080fd5b506100e86004803603602081101561010d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661020c565b6101326102ee565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806103476031913960400191505060405180910390fd5b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0155565b6102146102ee565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610297576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806103786032913960400191505060405180910390fd5b604080517f656970313936372e70726f78792e61646d696e00000000000000000000000000815290519081900360130190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0155565b604080517f656970313936372e70726f78792e61646d696e00000000000000000000000000815290519081900360130190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01549056fe4f6e6c792041646d696e2073686f756c642062652061626c6520746f207570646174652074686520636f6e7472616374734f6e6c79207468652063757272656e742061646d696e2073686f756c642062652061626c6520746f206e65772061646d696ea265627a7a72315820ac7cf23758492d4ed7e0d53829680603e682665a7308a9ac8c4c46c940b675d364736f6c634300051100320000000000000000000000008ef2e125eea6800ae35c10d5be3b96fe1171b5f00000000000000000000000007f75da7d6ef58e95a2f010cb264b6ec12514edf9
Deployed Bytecode
0x6080604052600436106100295760003560e01c8063795e617e146100a8578063e2f273bd146100ea575b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180543660008037600080366000846127105a03f43d806000803e8180156100a357816000f35b816000fd5b3480156100b457600080fd5b506100e8600480360360208110156100cb57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661012a565b005b3480156100f657600080fd5b506100e86004803603602081101561010d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661020c565b6101326102ee565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806103476031913960400191505060405180910390fd5b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0155565b6102146102ee565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610297576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806103786032913960400191505060405180910390fd5b604080517f656970313936372e70726f78792e61646d696e00000000000000000000000000815290519081900360130190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0155565b604080517f656970313936372e70726f78792e61646d696e00000000000000000000000000815290519081900360130190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01549056fe4f6e6c792041646d696e2073686f756c642062652061626c6520746f207570646174652074686520636f6e7472616374734f6e6c79207468652063757272656e742061646d696e2073686f756c642062652061626c6520746f206e65772061646d696ea265627a7a72315820ac7cf23758492d4ed7e0d53829680603e682665a7308a9ac8c4c46c940b675d364736f6c63430005110032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000008ef2e125eea6800ae35c10d5be3b96fe1171b5f00000000000000000000000007f75da7d6ef58e95a2f010cb264b6ec12514edf9
-----Decoded View---------------
Arg [0] : contractLogic (address): 0x8eF2E125eea6800AE35c10d5BE3B96Fe1171B5f0
Arg [1] : proxyAdmin (address): 0x7f75Da7d6ef58E95A2F010cB264B6Ec12514Edf9
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000008ef2e125eea6800ae35c10d5be3b96fe1171b5f0
Arg [1] : 0000000000000000000000007f75da7d6ef58e95a2f010cb264b6ec12514edf9
Deployed Bytecode Sourcemap
38:2541:0:-;;;;;;;;;;;;;;;;;;;;;;;139:41;;;;;;;;;;;;;;;;131:54;;1995:11;;2043:14;1905:12;;2020:38;2261:1;2241;2208:14;2186:3;2154:13;2129:5;2122;2118:17;2087:190;2304:16;2355:5;2352:1;2349;2334:27;2384:7;2409:65;;;;2533:5;2530:1;2523:16;2409:65;2449:5;2446:1;2439:16;1191:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1191:302:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1191:302:0;;;;:::i;:::-;;722:300;;8:9:-1;5:2;;;30:1;27;20:12;5:2;722:300:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;722:300:0;;;;:::i;1191:302::-;1285:10;:8;:10::i;:::-;1271:24;;:10;:24;;;1249:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;139:41;;;;;;;;;;;;;;;;131:54;;1452:23;1437:49::o;722:300::-;816:10;:8;:10::i;:::-;802:24;;:10;:24;;;780:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;270:32;;;;;;;;;;;;;;;;262:45;;981:23;966:49::o;1595:175::-;270:32;;;;;;;;;;;;;;;;262:45;;1741:11;;1716:47::o
Swarm Source
bzzr://ac7cf23758492d4ed7e0d53829680603e682665a7308a9ac8c4c46c940b675d3
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.