ETH Price: $2,514.17 (+0.50%)
 
Transaction Hash
Method
Block
From
To
Transfer226540732025-06-07 17:02:592 mins ago1749315779IN
Marlin: POND Token
0 ETH0.000069182
Transfer226539702025-06-07 16:42:1123 mins ago1749314531IN
Marlin: POND Token
0 ETH0.000172423.05219952
Transfer226537012025-06-07 15:48:111 hr ago1749311291IN
Marlin: POND Token
0 ETH0.000080852.33718721
Transfer226536682025-06-07 15:41:351 hr ago1749310895IN
Marlin: POND Token
0 ETH0.000124893.16944366
Transfer226536662025-06-07 15:41:111 hr ago1749310871IN
Marlin: POND Token
0 ETH0.000179873.18394581
Transfer226536252025-06-07 15:32:591 hr ago1749310379IN
Marlin: POND Token
0 ETH0.000069132
Transfer226536052025-06-07 15:28:591 hr ago1749310139IN
Marlin: POND Token
0 ETH0.000122212.16426547
Transfer From226534692025-06-07 15:01:472 hrs ago1749308507IN
Marlin: POND Token
0 ETH0.000097882.31198051
Transfer226534252025-06-07 14:52:592 hrs ago1749307979IN
Marlin: POND Token
0 ETH0.000069182
Transfer226534012025-06-07 14:47:472 hrs ago1749307667IN
Marlin: POND Token
0 ETH0.000124452.20356297
Transfer226533932025-06-07 14:46:112 hrs ago1749307571IN
Marlin: POND Token
0 ETH0.00014322.5348629
Transfer226533082025-06-07 14:28:592 hrs ago1749306539IN
Marlin: POND Token
0 ETH0.000198443.51279635
Transfer226529632025-06-07 13:19:113 hrs ago1749302351IN
Marlin: POND Token
0 ETH0.000079121.53208231
Transfer226526212025-06-07 12:10:354 hrs ago1749298235IN
Marlin: POND Token
0 ETH0.000044551.28804444
Transfer226517382025-06-07 9:12:477 hrs ago1749287567IN
Marlin: POND Token
0 ETH0.000069212
Transfer From226515922025-06-07 8:43:358 hrs ago1749285815IN
Marlin: POND Token
0 ETH0.000121122.8600764
Transfer226515752025-06-07 8:40:118 hrs ago1749285611IN
Marlin: POND Token
0 ETH0.000223133.9514196
Transfer226510912025-06-07 7:02:5910 hrs ago1749279779IN
Marlin: POND Token
0 ETH0.000069162
Approve226506772025-06-07 5:39:5911 hrs ago1749274799IN
Marlin: POND Token
0 ETH0.000039270.7673683
Transfer From226502332025-06-07 4:10:4712 hrs ago1749269447IN
Marlin: POND Token
0 ETH0.000117352.7702577
Transfer226502232025-06-07 4:08:4712 hrs ago1749269327IN
Marlin: POND Token
0 ETH0.00015272.70357991
Transfer From226480572025-06-06 20:53:3520 hrs ago1749243215IN
Marlin: POND Token
0 ETH0.000118982.81031083
Transfer From226477872025-06-06 19:59:2321 hrs ago1749239963IN
Marlin: POND Token
0 ETH0.000117592.77762557
Transfer226476452025-06-06 19:30:5921 hrs ago1749238259IN
Marlin: POND Token
0 ETH0.000149473.7955138
Transfer From226476442025-06-06 19:30:4721 hrs ago1749238247IN
Marlin: POND Token
0 ETH0.000116622.75451735
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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

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

0x608060405234801561001057600080fd5b506040516104973803806104978339818101604052604081101561003357600080fd5b508051602090910151604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152815190819003601c018120600019908101949094557f656970313936372e70726f78792e61646d696e0000000000000000000000000081529051908190036013019020909101556103de806100b96000396000f3fe6080604052600436106100295760003560e01c8063795e617e146100a8578063e2f273bd146100ea575b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180543660008037600080366000846127105a03f43d806000803e8180156100a357816000f35b816000fd5b3480156100b457600080fd5b506100e8600480360360208110156100cb57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661012a565b005b3480156100f657600080fd5b506100e86004803603602081101561010d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661020c565b6101326102ee565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806103476031913960400191505060405180910390fd5b604080517f656970313936372e70726f78792e696d706c656d656e746174696f6e000000008152905190819003601c0190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0155565b6102146102ee565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610297576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806103786032913960400191505060405180910390fd5b604080517f656970313936372e70726f78792e61646d696e00000000000000000000000000815290519081900360130190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0155565b604080517f656970313936372e70726f78792e61646d696e00000000000000000000000000815290519081900360130190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01549056fe4f6e6c792041646d696e2073686f756c642062652061626c6520746f207570646174652074686520636f6e7472616374734f6e6c79207468652063757272656e742061646d696e2073686f756c642062652061626c6520746f206e65772061646d696ea265627a7a72315820a6f56351dbbc0d0b4182cc0742811aa02a1e1c5ed47f268611b819fad621356764736f6c634300051100320000000000000000000000007c3eeb458732ccd34b0339edb34f1e340929290a000000000000000000000000a1438d4081827c337d6a90f525789fffd44375e2

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 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.

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.