ETH Price: $3,550.41 (+2.63%)
Gas: 8 Gwei

Contract

0x1C77d15857646687005dbbAfFf5873F4495a9731
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve201004452024-06-15 23:23:233 days ago1718493803IN
0x1C77d158...4495a9731
0 ETH0.000153122.95298408
Approve200717152024-06-11 22:57:237 days ago1718146643IN
0x1C77d158...4495a9731
0 ETH0.00043818.45089854
Approve200442122024-06-08 2:45:3511 days ago1717814735IN
0x1C77d158...4495a9731
0 ETH0.000358196.90783549
Approve200241742024-06-05 7:36:2314 days ago1717572983IN
0x1C77d158...4495a9731
0 ETH0.0005285310.19295124
Approve200043842024-06-02 13:18:1117 days ago1717334291IN
0x1C77d158...4495a9731
0 ETH0.000295475.69834095
Approve200043692024-06-02 13:15:1117 days ago1717334111IN
0x1C77d158...4495a9731
0 ETH0.000345326.65974478
Approve199968302024-06-01 12:00:2318 days ago1717243223IN
0x1C77d158...4495a9731
0 ETH0.000249344.80874057
Approve199847822024-05-30 19:37:1120 days ago1717097831IN
0x1C77d158...4495a9731
0 ETH0.0008675116.72642916
Approve199847592024-05-30 19:32:2320 days ago1717097543IN
0x1C77d158...4495a9731
0 ETH0.000731414.10540459
Approve199741542024-05-29 7:53:4721 days ago1716969227IN
0x1C77d158...4495a9731
0 ETH0.000245838.23034214
Approve199734822024-05-29 5:38:3521 days ago1716961115IN
0x1C77d158...4495a9731
0 ETH0.0006320712.1925774
Approve199531402024-05-26 9:24:5924 days ago1716715499IN
0x1C77d158...4495a9731
0 ETH0.000191653.69703458
Approve199465472024-05-25 11:19:1125 days ago1716635951IN
0x1C77d158...4495a9731
0 ETH0.000211124.07246359
Approve199369912024-05-24 3:15:1126 days ago1716520511IN
0x1C77d158...4495a9731
0 ETH0.000325376.27644141
Approve199308702024-05-23 6:43:5927 days ago1716446639IN
0x1C77d158...4495a9731
0 ETH0.000301015.80390605
Approve199189692024-05-21 14:47:1129 days ago1716302831IN
0x1C77d158...4495a9731
0 ETH0.0014451327.87625745
Approve199184682024-05-21 13:05:4729 days ago1716296747IN
0x1C77d158...4495a9731
0 ETH0.0006883819.80796254
Approve199139602024-05-20 21:58:1129 days ago1716242291IN
0x1C77d158...4495a9731
0 ETH0.0022123242.66523847
Approve198941942024-05-18 3:35:5932 days ago1716003359IN
0x1C77d158...4495a9731
0 ETH0.000229214.4204496
Approve198673182024-05-14 9:20:1136 days ago1715678411IN
0x1C77d158...4495a9731
0 ETH0.000312126.01947045
Approve198545882024-05-12 14:38:5938 days ago1715524739IN
0x1C77d158...4495a9731
0 ETH0.000337736.51327475
Approve198326342024-05-09 12:57:4741 days ago1715259467IN
0x1C77d158...4495a9731
0 ETH0.00023364.50523097
Approve198004622024-05-05 0:56:4745 days ago1714870607IN
0x1C77d158...4495a9731
0 ETH0.000248684.79596856
Approve197489002024-04-27 19:58:2353 days ago1714247903IN
0x1C77d158...4495a9731
0 ETH0.000282665.45128783
Approve196995692024-04-20 22:20:4759 days ago1713651647IN
0x1C77d158...4495a9731
0 ETH0.0003416.57643414
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MPondProxy

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
default evmVersion, MIT license
/**
 *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

Contract ABI

[{"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"}]

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

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.