ETH Price: $3,672.24 (+0.89%)

Contract

0x57B946008913B82E4dF85f501cbAeD910e58D26C
 
Transaction Hash
Method
Block
From
To
Transfer213265162024-12-04 3:41:354 mins ago1733283695IN
Marlin: POND Token
0 ETH0.0011988821.22632624
Transfer213264882024-12-04 3:35:599 mins ago1733283359IN
Marlin: POND Token
0 ETH0.0006011317.37126932
Transfer213264062024-12-04 3:19:2326 mins ago1733282363IN
Marlin: POND Token
0 ETH0.0007992523.11252128
Transfer213263852024-12-04 3:15:1130 mins ago1733282111IN
Marlin: POND Token
0 ETH0.0009475718.33509431
Transfer213262822024-12-04 2:54:1151 mins ago1733280851IN
Marlin: POND Token
0 ETH0.000603717.45154942
Transfer213262532024-12-04 2:48:1157 mins ago1733280491IN
Marlin: POND Token
0 ETH0.0011079419.61205276
Transfer213261662024-12-04 2:30:351 hr ago1733279435IN
Marlin: POND Token
0 ETH0.0005952617.20779361
Transfer213261642024-12-04 2:30:111 hr ago1733279411IN
Marlin: POND Token
0 ETH0.0006493218.77688641
Transfer213260972024-12-04 2:16:471 hr ago1733278607IN
Marlin: POND Token
0 ETH0.0008613721.87296839
Transfer213260942024-12-04 2:16:111 hr ago1733278571IN
Marlin: POND Token
0 ETH0.000907123.03409186
Transfer213260072024-12-04 1:58:471 hr ago1733277527IN
Marlin: POND Token
0 ETH0.0005581616.13524647
Transfer213259922024-12-04 1:55:471 hr ago1733277347IN
Marlin: POND Token
0 ETH0.0010394518.40361852
Approve213258472024-12-04 1:26:472 hrs ago1733275607IN
Marlin: POND Token
0 ETH0.0011267321.89528965
Approve213258162024-12-04 1:20:352 hrs ago1733275235IN
Marlin: POND Token
0 ETH0.0013051725.39842381
Transfer213255182024-12-04 0:20:353 hrs ago1733271635IN
Marlin: POND Token
0 ETH0.0013325623.59316529
Transfer213254762024-12-04 0:12:113 hrs ago1733271131IN
Marlin: POND Token
0 ETH0.000861324.89821947
Transfer213254612024-12-04 0:09:113 hrs ago1733270951IN
Marlin: POND Token
0 ETH0.0015777927.92901485
Transfer213254162024-12-04 0:00:113 hrs ago1733270411IN
Marlin: POND Token
0 ETH0.0007969623.04643309
Transfer213253302024-12-03 23:42:594 hrs ago1733269379IN
Marlin: POND Token
0 ETH0.0011131421.53870008
Transfer213251272024-12-03 23:02:234 hrs ago1733266943IN
Marlin: POND Token
0 ETH0.0010313229.82333583
Transfer213251212024-12-03 23:01:114 hrs ago1733266871IN
Marlin: POND Token
0 ETH0.0009508824.1309971
Transfer213251002024-12-03 22:56:594 hrs ago1733266619IN
Marlin: POND Token
0 ETH0.0013092323.18012899
Transfer213249342024-12-03 22:23:235 hrs ago1733264603IN
Marlin: POND Token
0 ETH0.0014760126.1384187
Approve213249262024-12-03 22:21:475 hrs ago1733264507IN
Marlin: POND Token
0 ETH0.001269124.78910659
Transfer213246022024-12-03 21:16:236 hrs ago1733260583IN
Marlin: POND Token
0 ETH0.0017083733.04090101
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xDe045Ef9...2b1A8d6b8
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
TokenProxy

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-11-30
*/

pragma solidity >=0.4.21 <0.7.0;


/// @title Contract to reward overlapping stakes
/// @author Marlin
/// @notice Use this contract only for testing
/// @dev Contract may or may not change in future (depending upon the new slots in proxy-store)
contract TokenProxy {
    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"}]

Deployed Bytecode

0x6080604052600436106100295760003560e01c8063795e617e146100a8578063e2f273bd146100ea575b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180543660008037600080366000846127105a03f43d806000803e8180156100a357816000f35b816000fd5b3480156100b457600080fd5b506100e8600480360360208110156100cb57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661012a565b005b3480156100f657600080fd5b506100e86004803603602081101561010d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661020c565b6101326102ee565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806103476031913960400191505060405180910390fd5b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0155565b6102146102ee565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610297576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806103786032913960400191505060405180910390fd5b604080517f656970313936372e70726f78792e61646d696e00000000000000000000000000815290519081900360130190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0155565b604080517f656970313936372e70726f78792e61646d696e00000000000000000000000000815290519081900360130190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01549056fe4f6e6c792041646d696e2073686f756c642062652061626c6520746f207570646174652074686520636f6e7472616374734f6e6c79207468652063757272656e742061646d696e2073686f756c642062652061626c6520746f206e65772061646d696ea265627a7a72315820a6f56351dbbc0d0b4182cc0742811aa02a1e1c5ed47f268611b819fad621356764736f6c63430005110032

Deployed Bytecode Sourcemap

253:2541:0:-;;;;;;;;;;;;;;;;;;;;;;;354:41;;;;;;;;;;;;;;;;346:54;;2210:11;;2258:14;2120:12;;2235:38;2476:1;2456;2423:14;2401:3;2369:13;2344:5;2337;2333:17;2302:190;2519:16;2570:5;2567:1;2564;2549:27;2599:7;2624:65;;;;2748:5;2745:1;2738:16;2624:65;2664:5;2661:1;2654:16;1406:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1406:302:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1406:302:0;;;;:::i;:::-;;937:300;;8:9:-1;5:2;;;30:1;27;20:12;5:2;937:300:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;937:300:0;;;;:::i;1406:302::-;1500:10;:8;:10::i;:::-;1486:24;;:10;:24;;;1464:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;354:41;;;;;;;;;;;;;;;;346:54;;1667:23;1652:49::o;937:300::-;1031:10;:8;:10::i;:::-;1017:24;;:10;:24;;;995:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;485:32;;;;;;;;;;;;;;;;477:45;;1196:23;1181:49::o;1810:175::-;485:32;;;;;;;;;;;;;;;;477:45;;1956:11;;1931:47::o

Swarm Source

bzzr://a6f56351dbbc0d0b4182cc0742811aa02a1e1c5ed47f268611b819fad6213567

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Marlin is a verifiable computing protocol featuring TEE and ZK-based coprocessors to delegate complex workloads over a decentralized cloud.

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.