ETH Price: $3,372.87 (-2.46%)

Contract

0x1C77d15857646687005dbbAfFf5873F4495a9731
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve214343482024-12-19 5:01:477 days ago1734584507IN
0x1C77d158...4495a9731
0 ETH0.00059511.47221373
Approve213353822024-12-05 9:24:5921 days ago1733390699IN
0x1C77d158...4495a9731
0 ETH0.0010828420.88288883
Approve213297182024-12-04 14:25:4722 days ago1733322347IN
0x1C77d158...4495a9731
0 ETH0.0015910545.78188572
Approve213258502024-12-04 1:27:2323 days ago1733275643IN
0x1C77d158...4495a9731
0 ETH0.0011825722.81153796
Approve213223062024-12-03 13:34:1123 days ago1733232851IN
0x1C77d158...4495a9731
0 ETH0.0012221635.16720698
Approve213218842024-12-03 12:09:4723 days ago1733227787IN
0x1C77d158...4495a9731
0 ETH0.0010745920.72395531
Approve212891352024-11-28 22:19:2328 days ago1732832363IN
0x1C77d158...4495a9731
0 ETH0.000437358.43446254
Approve212802912024-11-27 16:30:3529 days ago1732725035IN
0x1C77d158...4495a9731
0 ETH0.0013573826.18366757
Approve212704172024-11-26 7:25:2330 days ago1732605923IN
0x1C77d158...4495a9731
0 ETH0.000406387.83720874
Approve212654062024-11-25 14:35:3531 days ago1732545335IN
0x1C77d158...4495a9731
0 ETH0.0012527424.15403033
Approve212386692024-11-21 21:03:1135 days ago1732222991IN
0x1C77d158...4495a9731
0 ETH0.0005617316.16915069
Approve212384052024-11-21 20:10:2335 days ago1732219823IN
0x1C77d158...4495a9731
0 ETH0.0008997317.35561764
Approve212219742024-11-19 13:07:4737 days ago1732021667IN
0x1C77d158...4495a9731
0 ETH0.0014053927.1033735
Approve212219332024-11-19 12:59:3537 days ago1732021175IN
0x1C77d158...4495a9731
0 ETH0.0009343926.89601974
Approve212219302024-11-19 12:58:5937 days ago1732021139IN
0x1C77d158...4495a9731
0 ETH0.0013973426.95442372
Approve212157222024-11-18 16:13:2338 days ago1731946403IN
0x1C77d158...4495a9731
0 ETH0.0013626226.28473934
Approve212132752024-11-18 8:01:4738 days ago1731916907IN
0x1C77d158...4495a9731
0 ETH0.000507159.78062069
Approve211635452024-11-11 9:27:4745 days ago1731317267IN
0x1C77d158...4495a9731
0 ETH0.0007499614.45998072
Approve211542222024-11-10 2:16:4747 days ago1731205007IN
0x1C77d158...4495a9731
0 ETH0.000366567.07102696
Approve211026572024-11-02 21:31:5954 days ago1730583119IN
0x1C77d158...4495a9731
0 ETH0.000225754.35374863
Approve210207942024-10-22 11:23:2365 days ago1729596203IN
0x1C77d158...4495a9731
0 ETH0.000281988.11671607
Approve208653452024-09-30 18:44:2387 days ago1727721863IN
0x1C77d158...4495a9731
0 ETH0.0008955517.26713049
Approve208328352024-09-26 5:56:2391 days ago1727330183IN
0x1C77d158...4495a9731
0 ETH0.0007058213.6120159
Approve207853852024-09-19 14:57:5998 days ago1726757879IN
0x1C77d158...4495a9731
0 ETH0.0015196129.30628357
Approve207842602024-09-19 11:11:4798 days ago1726744307IN
0x1C77d158...4495a9731
0 ETH0.000695120.00815924
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.