Contract 0xEe9A352F6aAc4aF1A5B9f467F6a93E0ffBe9Dd35 1

 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x35e75e73c60940295cfe1b3b5d00033762ebeed6b5d34edd770c2db1801ecf13Approve406699862023-03-23 9:40:411 hr 59 mins ago0x6943f9838644b15271e198e6fbcb62c43e384f95 IN  MASQ Network: MASQ Token0 MATIC0.007060211417 136.37123189
0x51e9477a323c9d0db9ee22e9bd46ec59f46fe1bcfc96fde125119b46447bbc0fApprove406699302023-03-23 9:38:412 hrs 1 min ago0x6943f9838644b15271e198e6fbcb62c43e384f95 IN  MASQ Network: MASQ Token0 MATIC0.00508228431 146.581804053
0x6b1f195f34ea340c854e4f4f8af381354667b0972fb3128687b5be56fb99d8f7Approve406687982023-03-23 8:53:272 hrs 46 mins ago0x815a54367146a901266e1687bd2e508170d57bd5 IN  MASQ Network: MASQ Token0 MATIC0.004931465578 165.552087357
0x03a14355ae15ff2b4da84921f991a18ac5c95d28fb7578d579128938157321ebApprove406615392023-03-23 4:19:517 hrs 19 mins ago0x5f0b520d0016f2a05fff6b86907374653820a35a IN  MASQ Network: MASQ Token0 MATIC0.004437328712 85.709045666
0x9fb2cc3ed9b270f1c201d8d60974c1d66477479a4c8a5b05ead4b27ae2e72597Approve406569982023-03-23 1:27:4710 hrs 11 mins ago0x9f570d90003f49ce526d9fd17100513e09be79ca IN  MASQ Network: MASQ Token0 MATIC0.00467252985189.732098853
0x883c9cc34dd20242fb6443ef6652898c311b8b6ed9a44fc06542f76d17d9c11eApprove406556562023-03-23 0:34:2211 hrs 5 mins ago0x446290a34fe9f6af20e167913bde1df33bde196a IN  MASQ Network: MASQ Token0 MATIC0.003935002036 75.568482798
0xdcfdfa62de4c19b49bb9e043614ec25eefa65452b52c00769a6a7ff6ec03656fApprove406551962023-03-23 0:17:0011 hrs 22 mins ago0xeb1fe71ba82e5a124cc0b8d848504412d0b6038f IN  MASQ Network: MASQ Token0 MATIC0.002762351789 92.73371122
0x62a4994915e8447031ed949c60854f70628519c9aa8d2fa6e2220551c6814a0dApprove406550842023-03-23 0:12:3011 hrs 27 mins ago0x5b8016af043c99323b05adc44f26a9f02439d872 IN  MASQ Network: MASQ Token0 MATIC0.004813394682 92.437292263
0x635ddfc8e4874af185525db2dac0cfdfb4a4e96807de78651fc8caf8f56b7b1cWithdraw406540392023-03-22 23:30:1012 hrs 9 mins ago0x65a8f07bd9a8598e1b5b6c0a88f4779dbc077675 IN  MASQ Network: MASQ Token0 MATIC0.01674052046 480.27657967
0xcea86c16bacda3dd3686adf45da93c327a308ea699d0b0cd0a06ddd30e5f83d9Transfer406519322023-03-22 22:12:1113 hrs 27 mins ago0x1a2496647a388025792d2bb1f098b294c404d0bb IN  MASQ Network: MASQ Token0 MATIC0.00371874052670.773837671
0xdaea3a0384280a033090570a0a0a07974938afffe21bf11e98264bf1392b59c0Approve406457812023-03-22 18:30:1417 hrs 9 mins ago0xdf8ad6a28b1b28f44164631c423fb5a565222ec6 IN  MASQ Network: MASQ Token0 MATIC0.006863332767 132.507003778
0x687a4381e5020e0022b8bc8c467aa3e8151799d455095edbe7ba6dac2b576473Approve406445172023-03-22 17:42:0417 hrs 57 mins ago0x453830af7316ac7ed7d9f13ce241d101f84023f5 IN  MASQ Network: MASQ Token0 MATIC0.012867934472 247.118114766
0x0b16c5696c6114f0dfd1e8a94cde5ffa554da502f110ddeb79cf1edd273a69e5Approve406444032023-03-22 17:38:0218 hrs 1 min ago0x453830af7316ac7ed7d9f13ce241d101f84023f5 IN  MASQ Network: MASQ Token0 MATIC0.004170124007 129.619669519
0xc4bcba733dfad864bc7f84e74aec2a839c5641429f12e4ac3ba2472c353b53f2Approve406443932023-03-22 17:37:4018 hrs 2 mins ago0x453830af7316ac7ed7d9f13ce241d101f84023f5 IN  MASQ Network: MASQ Token0 MATIC0.007175612283 137.801741499
0xf6d1ccbbd8786a817441996f67c552cb65fd0cb0979e2d21a4d841c165bff9f1Approve406419642023-03-22 16:03:3619 hrs 36 mins ago0x00705aae56cce04fe2b2e7834a29df77beec9283 IN  MASQ Network: MASQ Token0 MATIC0.012204072465 234.36919008
0x865ed9a46676976c4f10da04b14b9f4c0b4b9ac13f736c40416e746fc6ef86c6Transfer406381192023-03-22 13:24:3022 hrs 15 mins ago0x809afb1ae2658f4d6763ed0bea5725f8667507b2 IN  MASQ Network: MASQ Token0 MATIC0.007468667537 210.78876545
0x10aec6eb2e786e111ac30ddb1beaaa40ed63bf86cd138cb1f18336009e73ae1cApprove406338302023-03-22 10:24:161 day 1 hr ago0x3bca36e5af98891e86dcbfd6cec5b0adf4bedfec IN  MASQ Network: MASQ Token0 MATIC0.010203667578 195.953056894
0x1ff6d5a999dc589027ff63d4c9741012ca01a9f8158fee6ba5d522f75b7bcf91Approve406323042023-03-22 9:27:301 day 2 hrs ago0xb1e9f8e26dfacd529e1f20059c2bd41c0501d6b2 IN  MASQ Network: MASQ Token0 MATIC0.007819688412 150.170694668
0xc0faa697a6163aff543bad97994c1b6e2d366db6681ced3d88a666f548b80f5aTransfer From406287232023-03-22 7:13:121 day 4 hrs ago0xbfe70ff55d170f1adc5d0bb695163107809ee2ad IN  MASQ Network: MASQ Token0 MATIC0.010901634388180.10597215
0x4dbb6eb7cc1411188c332163b208d1f3cb2f3c63f1bc22f3e3812ed6b1e730c4Approve406287122023-03-22 7:12:481 day 4 hrs ago0xf226ea38606e7ef7dd45aad8cc37cc0da6062fbe IN  MASQ Network: MASQ Token0 MATIC0.007856171497 151.184887569
0x766e9ff6e45b9ee9ad098dd0c45e50cf7b0e22fb6e8e3314169ca0ca8a8ec02bApprove406253912023-03-22 5:02:461 day 6 hrs ago0x658191594cda88744d8158813029420dcf137a32 IN  MASQ Network: MASQ Token0 MATIC0.003613641389 113.67941958
0x8eb6b693bc529ae0c30fa014e66ddde9f3bc425c3cbf236cdc07a0967c14eb6dTransfer406220882023-03-22 2:52:121 day 8 hrs ago0xbcd014e9de1d65e252384ce097fead4dcdae0da9 IN  MASQ Network: MASQ Token0 MATIC0.006617084408 125.9341582
0x56bd70dcd701cb864bf4052590843c2883eeaed4818e3be94662d4f436ab270fApprove406174002023-03-21 23:50:291 day 11 hrs ago0xf905dfdbc97b67b98f3d2a7e5abcb81de67ff576 IN  MASQ Network: MASQ Token0 MATIC0.002637068444 76.004970157
0xfc7f62eb3b242dde722490d85694cf3016475d58ccfb75de60a93007da9d2553Approve406173342023-03-21 23:48:091 day 11 hrs ago0xf905dfdbc97b67b98f3d2a7e5abcb81de67ff576 IN  MASQ Network: MASQ Token0 MATIC0.00269535507 77.765581964
0x84a4381fd56388e4c77dd00e79260a86616a99cc5805059b5a60de0cd2de6248Approve406172702023-03-21 23:45:531 day 11 hrs ago0xf905dfdbc97b67b98f3d2a7e5abcb81de67ff576 IN  MASQ Network: MASQ Token0 MATIC0.004666300597 90.15263906
[ Download CSV Export 

OVERVIEW

MASQ Network is a community-driven project aimed at solving the problem of internet censorship by repressive regimes. The MASQ team is addressing this by building the next evolution of VPN and Tor technology.

Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UChildERC20Proxy

Compiler Version
v0.6.6+commit.6c089d02

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at polygonscan.com on 2021-06-30
*/

// File: contracts/common/Proxy/IERCProxy.sol

pragma solidity 0.6.6;

interface IERCProxy {
    function proxyType() external pure returns (uint256 proxyTypeId);

    function implementation() external view returns (address codeAddr);
}

// File: contracts/common/Proxy/Proxy.sol

pragma solidity 0.6.6;


abstract contract Proxy is IERCProxy {
    function delegatedFwd(address _dst, bytes memory _calldata) internal {
        // solium-disable-next-line security/no-inline-assembly
        assembly {
            let result := delegatecall(
                sub(gas(), 10000),
                _dst,
                add(_calldata, 0x20),
                mload(_calldata),
                0,
                0
            )
            let size := returndatasize()

            let ptr := mload(0x40)
            returndatacopy(ptr, 0, size)

            // revert instead of invalid() bc if the underlying call failed with invalid() it already wasted gas.
            // if the call returned error data, forward it
            switch result
                case 0 {
                    revert(ptr, size)
                }
                default {
                    return(ptr, size)
                }
        }
    }

    function proxyType() external virtual override pure returns (uint256 proxyTypeId) {
        // Upgradeable proxy
        proxyTypeId = 2;
    }

    function implementation() external virtual override view returns (address);
}

// File: contracts/common/Proxy/UpgradableProxy.sol

pragma solidity 0.6.6;


contract UpgradableProxy is Proxy {
    event ProxyUpdated(address indexed _new, address indexed _old);
    event ProxyOwnerUpdate(address _new, address _old);

    bytes32 constant IMPLEMENTATION_SLOT = keccak256("matic.network.proxy.implementation");
    bytes32 constant OWNER_SLOT = keccak256("matic.network.proxy.owner");

    constructor(address _proxyTo) public {
        setProxyOwner(msg.sender);
        setImplementation(_proxyTo);
    }

    fallback() external payable {
        delegatedFwd(loadImplementation(), msg.data);
    }

    receive() external payable {
        delegatedFwd(loadImplementation(), msg.data);
    }

    modifier onlyProxyOwner() {
        require(loadProxyOwner() == msg.sender, "NOT_OWNER");
        _;
    }

    function proxyOwner() external view returns(address) {
        return loadProxyOwner();
    }

    function loadProxyOwner() internal view returns(address) {
        address _owner;
        bytes32 position = OWNER_SLOT;
        assembly {
            _owner := sload(position)
        }
        return _owner;
    }

    function implementation() external override view returns (address) {
        return loadImplementation();
    }

    function loadImplementation() internal view returns(address) {
        address _impl;
        bytes32 position = IMPLEMENTATION_SLOT;
        assembly {
            _impl := sload(position)
        }
        return _impl;
    }

    function transferProxyOwnership(address newOwner) public onlyProxyOwner {
        require(newOwner != address(0), "ZERO_ADDRESS");
        emit ProxyOwnerUpdate(newOwner, loadProxyOwner());
        setProxyOwner(newOwner);
    }

    function setProxyOwner(address newOwner) private {
        bytes32 position = OWNER_SLOT;
        assembly {
            sstore(position, newOwner)
        }
    }

    function updateImplementation(address _newProxyTo) public onlyProxyOwner {
        require(_newProxyTo != address(0x0), "INVALID_PROXY_ADDRESS");
        require(isContract(_newProxyTo), "DESTINATION_ADDRESS_IS_NOT_A_CONTRACT");

        emit ProxyUpdated(_newProxyTo, loadImplementation());
        
        setImplementation(_newProxyTo);
    }

    function updateAndCall(address _newProxyTo, bytes memory data) payable public onlyProxyOwner {
        updateImplementation(_newProxyTo);

        (bool success, bytes memory returnData) = address(this).call{value: msg.value}(data);
        require(success, string(returnData));
    }

    function setImplementation(address _newProxyTo) private {
        bytes32 position = IMPLEMENTATION_SLOT;
        assembly {
            sstore(position, _newProxyTo)
        }
    }
    
    function isContract(address _target) internal view returns (bool) {
        if (_target == address(0)) {
            return false;
        }

        uint256 size;
        assembly {
            size := extcodesize(_target)
        }
        return size > 0;
    }
}

// File: contracts/child/ChildToken/UpgradeableChildERC20/UChildERC20Proxy.sol

pragma solidity 0.6.6;


contract UChildERC20Proxy is UpgradableProxy {
    constructor(address _proxyTo)
        public
        UpgradableProxy(_proxyTo)
    {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_proxyTo","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_new","type":"address"},{"indexed":false,"internalType":"address","name":"_old","type":"address"}],"name":"ProxyOwnerUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_new","type":"address"},{"indexed":true,"internalType":"address","name":"_old","type":"address"}],"name":"ProxyUpdated","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyType","outputs":[{"internalType":"uint256","name":"proxyTypeId","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferProxyOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"updateAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_newProxyTo","type":"address"}],"name":"updateImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50604051610c85380380610c858339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806100543361006a60201b60201c565b610063816100ab60201b60201c565b50506100cf565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e6572000000000000008152506019019050604051809103902090508181555050565b60006040518080610c63602291396022019050604051809103902090508181555050565b610b85806100de6000396000f3fe6080604052600436106100595760003560e01c8063025313a21461010e578063025b22bc146101655780634555d5c9146101b65780635c60da1b146101e1578063d88ca2c814610238578063f1739cae14610313576100b6565b366100b6576100b4610069610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b61010c6100c1610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b34801561011a57600080fd5b506101236103ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017157600080fd5b506101b46004803603602081101561018857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103c9565b005b3480156101c257600080fd5b506101cb6105df565b6040518082815260200191505060405180910390f35b3480156101ed57600080fd5b506101f66105e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103116004803603604081101561024e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561028b57600080fd5b82018360208201111561029d57600080fd5b803590602001918460018302840111640100000000831117156102bf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506105f7565b005b34801561031f57600080fd5b506103626004803603602081101561033657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610813565b005b60008060006040518080610b2e6022913960220190506040518091039020905080549150819250505090565b600080825160208401856127105a03f43d604051816000823e82600081146103b6578282f35b8282fd5b60006103c4610a08565b905090565b3373ffffffffffffffffffffffffffffffffffffffff166103e8610a08565b73ffffffffffffffffffffffffffffffffffffffff1614610471576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610514576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b61051d81610a51565b610572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610b096025913960400191505060405180910390fd5b61057a610364565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36105dc81610aa3565b50565b60006002905090565b60006105f2610364565b905090565b3373ffffffffffffffffffffffffffffffffffffffff16610616610a08565b73ffffffffffffffffffffffffffffffffffffffff161461069f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6106a8826103c9565b600060603073ffffffffffffffffffffffffffffffffffffffff1634846040518082805190602001908083835b602083106106f857805182526020820191506020810190506020830392506106d5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461075a576040519150601f19603f3d011682016040523d82523d6000602084013e61075f565b606091505b509150915081819061080c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107d15780820151818401526020810190506107b6565b50505050905090810190601f1680156107fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16610832610a08565b73ffffffffffffffffffffffffffffffffffffffff16146108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a45524f5f41444452455353000000000000000000000000000000000000000081525060200191505060405180910390fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee281610988610a08565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1610a0581610ac7565b50565b600080600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e65720000000000000081525060190190506040518091039020905080549150819250505090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a905760009050610a9e565b6000823b9050600081119150505b919050565b60006040518080610b2e602291396022019050604051809103902090508181555050565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e657200000000000000815250601901905060405180910390209050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143546d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6ea264697066735822122041ef759422fabf085e8197d08185f4d0cdb3a0ab3423629d2271c1c06c720f0664736f6c634300060600336d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6e000000000000000000000000b4159f16389217a0cc359b220837e12e829e02e3

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000b4159f16389217a0cc359b220837e12e829e02e3

-----Decoded View---------------
Arg [0] : _proxyTo (address): 0xb4159f16389217a0cc359b220837e12e829e02e3

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b4159f16389217a0cc359b220837e12e829e02e3


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.