Contract 0x104592a158490a9228070e0a8e5343b499e125d0 2

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x5c2137f698c0de1ca69e3b84bfcbaeb4a5dc949d5ac75cb12dd3c8e6e0600b20Approve320058742022-08-17 19:32:5934 secs ago0x5180db0237291a6449dda9ed33ad90a38787621c IN  Mapper: FRAX Token0 MATIC0.001638592062 31.628166737
0x718850efb6c3f21c04ea83b46ff036d4209feb8c29398c66449c9e51985cdeffApprove320017292022-08-17 16:59:442 hrs 33 mins ago0x92f2c91d93b5049136c9d51cf8b29983c43ac738 IN  Mapper: FRAX Token0 MATIC0.0011163684 34.7
0x472dbfd734b7d442e8c2b09c122866651668a4d6e543e06927daf7c93a16a854Approve320016912022-08-17 16:58:242 hrs 35 mins ago0x92f2c91d93b5049136c9d51cf8b29983c43ac738 IN  Mapper: FRAX Token0 MATIC0.0018068984 34.7
0x639daf9d7dab34b328f814ce967a40be5d91a1ceae6fa6542a518b5b9da356feWithdraw319966952022-08-17 13:35:235 hrs 58 mins ago0x1049eb83482836c8fdef5d08bd0a908e87234fcf IN  Mapper: FRAX Token0 MATIC0.00539137172 154.569143365
0xc74e2409075ef51bc28f98be4ffde4494fcb8053254a1c8486cb962ab79b2f54Approve319919602022-08-17 10:07:479 hrs 25 mins ago0x8354204acf27f4eab53f11833828f142df3138b3 IN  Mapper: FRAX Token0 MATIC0.00190996455 36.883295041
0x19dcd0414cb14c02c713ce798247fe7d5338301c99c7df147f0076a5f910d653Approve319864022022-08-17 6:40:2712 hrs 53 mins ago0xaf819c7d5b9e98afd3b59561a33067a94393e9d2 IN  Mapper: FRAX Token0 MATIC0.00253859249
0x6552ac195f6cbcce09582cc6d8d09cf5d14db85f5c917fa18e7dee8e996cfeacApprove319824902022-08-17 4:18:3515 hrs 14 mins ago0xeae326eabc4ba98c196c9a8efec46278f2818332 IN  Mapper: FRAX Token0 MATIC0.00089364 30.000000015
0x7c387af99babaf440715747c0086304312a8e57702816747e5089fcc0a6ced75Approve319824612022-08-17 4:17:3315 hrs 16 mins ago0xeae326eabc4ba98c196c9a8efec46278f2818332 IN  Mapper: FRAX Token0 MATIC0.001732487512 33.271000001
0x3e1b2b01f7d777cbedd845fc83c157209e61501ed68b5a0d7a30155da0eb359eApprove319806352022-08-17 3:13:2016 hrs 20 mins ago0x685735bf639ddc27a56be48c27f97c536c6bee11 IN  Mapper: FRAX Token0 MATIC0.0018425775 35.590232181
0xbb16aa557f16e6d65b5beef194a7a018e1b795bb504b5ce19ebdd8a052064015Approve319734562022-08-16 22:41:1720 hrs 52 mins ago0xdc763af7fc050b216d4dccd2492a3935309d39ef IN  Mapper: FRAX Token0 MATIC0.001202749356 34.677354311
0x6a90a041a25f73add648a915fef9455fac72345e1056c4c5306e468d7d810383Approve319730132022-08-16 22:25:4721 hrs 7 mins ago0xdc763af7fc050b216d4dccd2492a3935309d39ef IN  Mapper: FRAX Token0 MATIC0.001843212486 35.594247001
0x378ae0bdcbb9a70d738e245ab2edf389d8c5b228a6a6c415e3a7edcbeeb7c69eApprove319647592022-08-16 17:21:221 day 2 hrs ago0x8354204acf27f4eab53f11833828f142df3138b3 IN  Mapper: FRAX Token0 MATIC0.001812805825 35.00706445
0x4e3f053fbc52e0e07579c02c9ed122da56050d81c08bcd7271125014618c5a74Approve319639222022-08-16 16:51:441 day 2 hrs ago0x787986e916c1a0c5ebf84f7f170d46e2018dad55 IN  Mapper: FRAX Token0 MATIC0.001269860629 36.612288941
0x3a81218bffb8862540c3fab0c46b2f27dd388b668ae7cfc02773a4969f69510bApprove319633302022-08-16 16:29:161 day 3 hrs ago0x787986e916c1a0c5ebf84f7f170d46e2018dad55 IN  Mapper: FRAX Token0 MATIC0.001583923029 30.587112421
0xa926c2782c756c8e41421676861b5a68ebde7674d508ef58f16e7cb1de854e96Approve319611852022-08-16 15:07:591 day 4 hrs ago0x9a816e3966f72945a6832d4309e48efbbd199b3a IN  Mapper: FRAX Token0 MATIC0.001614270364 31.000736764
0x16ee319dbe2e139b135f17b2e16f5480360dcaed7320cb6eab09a8c4b4181a61Approve319570042022-08-16 12:21:291 day 7 hrs ago0xde41d605b06957a7bd2bee022a08aadffc3b27ff IN  Mapper: FRAX Token0 MATIC0.001567825432 30.108799986
0xa2dcd7a9da95bbd91cef7bda5ddfabbb4d9beb0d19c532459249c56d4c563707Transfer319568372022-08-16 12:15:431 day 7 hrs ago0x984d52efb6e381c6d475d45e4cf2381b79e88284 IN  Mapper: FRAX Token0 MATIC0.001576320886 30.000016868
0x59c5ffe46dfb77c299119d5ecc597ba8ecabfcf5a8c819919fe010dbcc7ac00dTransfer319566672022-08-16 12:09:081 day 7 hrs ago0xde41d605b06957a7bd2bee022a08aadffc3b27ff IN  Mapper: FRAX Token0 MATIC0.001834836535 34.920001061
0xf3d214cbb6f5b3b927a6449fe53868690a2e00fcfd49e5a3bc35556784f68432Approve319521662022-08-16 9:21:011 day 10 hrs ago0xd575bfb00a6425aa8349336fa6e6638588cae1af IN  Mapper: FRAX Token0 MATIC0.000893640001 30.000000036
0x66fc628d83946d2fef123124f9b672460262503ae4f261933a682f63ff336085Approve319484912022-08-16 7:05:381 day 12 hrs ago0xb5a5385f0c0abc5e26f5c5a83fbbc5cc39d8ccdf IN  Mapper: FRAX Token0 MATIC0.001614232 31.00000001
0x8e6efbb35b0352efda564f02f9a15686743404e535d41d0205de9d8ec71c30dbWithdraw319412262022-08-16 2:38:301 day 16 hrs ago0x1640e916e10610ba39aac5cd8a08acf3ccae1a4c IN  Mapper: FRAX Token0 MATIC0.00108163599 31.01020614
0x31b2a09fc8612cc3c16505a5afe9398fb4c087d166d4e19d6fc3f759c03e94f9Approve319219812022-08-15 14:13:512 days 5 hrs ago0x86b3c4f178aafd6fe49985800dd461899d6445ae IN  Mapper: FRAX Token0 MATIC0.001562160454 30.000008734
0x2416cebd693288eefd514258daf1fe9c50c25ee7e13377502be72c04b4c607e0Approve318263912022-08-13 1:49:044 days 17 hrs ago0xfc8977acafd9a6158c30a4dfddf36cabcd2ff63d IN  Mapper: FRAX Token0 MATIC0.001568315382 30.118209059
0x50ea33565679f199cd773a2bfa43a84a000df5a41911eb849a2f4992ae0aaffbApprove318251922022-08-13 1:03:344 days 18 hrs ago0xaeba13fce35058c604ee8eff1a996881a4df4c13 IN  Mapper: FRAX Token0 MATIC0.002474982157 47.52999995
0x5c4305bb1377242904684dc47bf3810c907fd6cca117bbac4e399a89b9db4ab4Approve318206372022-08-12 22:14:124 days 21 hrs ago0x0557d5aeec6f2dbffdc2a4cdce59ae3286a2e896 IN  Mapper: FRAX Token0 MATIC0.00217192312 41.71
[ Download CSV Export 

OVERVIEW

The official token deployed by Frax Finance can be found at 0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89.

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

608060405234801561001057600080fd5b50604051610c85380380610c858339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806100543361006a60201b60201c565b610063816100ab60201b60201c565b50506100cf565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e6572000000000000008152506019019050604051809103902090508181555050565b60006040518080610c63602291396022019050604051809103902090508181555050565b610b85806100de6000396000f3fe6080604052600436106100595760003560e01c8063025313a21461010e578063025b22bc146101655780634555d5c9146101b65780635c60da1b146101e1578063d88ca2c814610238578063f1739cae14610313576100b6565b366100b6576100b4610069610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b61010c6100c1610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b34801561011a57600080fd5b506101236103ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017157600080fd5b506101b46004803603602081101561018857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103c9565b005b3480156101c257600080fd5b506101cb6105df565b6040518082815260200191505060405180910390f35b3480156101ed57600080fd5b506101f66105e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103116004803603604081101561024e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561028b57600080fd5b82018360208201111561029d57600080fd5b803590602001918460018302840111640100000000831117156102bf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506105f7565b005b34801561031f57600080fd5b506103626004803603602081101561033657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610813565b005b60008060006040518080610b2e6022913960220190506040518091039020905080549150819250505090565b600080825160208401856127105a03f43d604051816000823e82600081146103b6578282f35b8282fd5b60006103c4610a08565b905090565b3373ffffffffffffffffffffffffffffffffffffffff166103e8610a08565b73ffffffffffffffffffffffffffffffffffffffff1614610471576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610514576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b61051d81610a51565b610572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610b096025913960400191505060405180910390fd5b61057a610364565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36105dc81610aa3565b50565b60006002905090565b60006105f2610364565b905090565b3373ffffffffffffffffffffffffffffffffffffffff16610616610a08565b73ffffffffffffffffffffffffffffffffffffffff161461069f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6106a8826103c9565b600060603073ffffffffffffffffffffffffffffffffffffffff1634846040518082805190602001908083835b602083106106f857805182526020820191506020810190506020830392506106d5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461075a576040519150601f19603f3d011682016040523d82523d6000602084013e61075f565b606091505b509150915081819061080c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107d15780820151818401526020810190506107b6565b50505050905090810190601f1680156107fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16610832610a08565b73ffffffffffffffffffffffffffffffffffffffff16146108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a45524f5f41444452455353000000000000000000000000000000000000000081525060200191505060405180910390fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee281610988610a08565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1610a0581610ac7565b50565b600080600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e65720000000000000081525060190190506040518091039020905080549150819250505090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a905760009050610a9e565b6000823b9050600081119150505b919050565b60006040518080610b2e602291396022019050604051809103902090508181555050565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e657200000000000000815250601901905060405180910390209050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143546d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6ea264697066735822122041ef759422fabf085e8197d08185f4d0cdb3a0ab3423629d2271c1c06c720f0664736f6c634300060600336d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6e000000000000000000000000781bddf8836c3b656339cc1c80cf35ccb891be5d

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

000000000000000000000000781bddf8836c3b656339cc1c80cf35ccb891be5d

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000781bddf8836c3b656339cc1c80cf35ccb891be5d


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.