Contract 0x104592a158490a9228070E0A8e5343B499e125D0

 

Contract Overview

Frax Finance: FRAX Token
Balance:
0 MATIC

MATIC Value:
$0.00

Token:
Ad
Ad
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x89d6aff302025efa12034e324beacaa8648fb8397c25d8580d4bcb4003a17cdfApprove202703432021-10-16 7:17:152 hrs 25 mins ago0x2c640ac98e293daa246f98d2828e328a06fa6936 IN  Frax Finance: FRAX Token0 MATIC0.0002588
0xeeadd702d6c32f7ca84a620cab5fc5452030468162da4532198d1cb90dffe8acApprove202697062021-10-16 6:51:052 hrs 51 mins ago0x2c640ac98e293daa246f98d2828e328a06fa6936 IN  Frax Finance: FRAX Token0 MATIC0.0002588
0xa598c6212d616bdba83dcddcc82f07bd844b6ba58541653e8e93ad3fd366a812Approve202602652021-10-15 23:47:389 hrs 55 mins ago0x260e50dfc9ee172919fe947ce2c98704a5d33894 IN  Frax Finance: FRAX Token0 MATIC0.00155316
0x0a72804700a7d61857529a5e3f387ee8493f244653a298b5e0d8e417f5d612d0Approve202592372021-10-15 23:08:0210 hrs 34 mins ago0x8a60c3b81a01cd6880cc24c98a067f7e6e580b68 IN  Frax Finance: FRAX Token0 MATIC0.00156216
0x54a649e91100c2e75fa280482745abff6f0f24fbdebe72d942f8bfaee39cd727Approve202566862021-10-15 21:27:2812 hrs 15 mins ago0xb43f7be1cbbb7c96aeaeaff4598044052a8a2097 IN  Frax Finance: FRAX Token0 MATIC0.00155352
0x5d10c3c004bfb1864a1a99a01cfc7a05af72b91ce46f775a3c94a6840af7a7fbApprove202538292021-10-15 19:38:3814 hrs 4 mins ago0xcc1e0a566dbd10869c071c811aba436357858f05 IN  Frax Finance: FRAX Token0 MATIC0.00058764
0xd651eaa65b2eaf771979340ee9171c010c46a90066b162edc57c3805465248a3Approve202516322021-10-15 18:16:3215 hrs 26 mins ago0x667c1bcc0251c7ec6113eeb5ddc927ea8eb6a671 IN  Frax Finance: FRAX Token0 MATIC0.00155388
0xe1a810beb960485b39c2f57365f6e44d030f92553e7824cfdd1b108125cc5e66Approve202464842021-10-15 14:52:2218 hrs 50 mins ago0x260e50dfc9ee172919fe947ce2c98704a5d33894 IN  Frax Finance: FRAX Token0 MATIC0.00155352
0x75c07f9521ec5c621d062302f3d6d5321025d423dc057f13450793391fd65dbdApprove202456362021-10-15 14:16:3919 hrs 26 mins ago0x5d4614b4e5e21d7344b369e09b9be2bb8241a307 IN  Frax Finance: FRAX Token0 MATIC0.00155424
0x4d7c311b2ad6e2ed2bcf87cd61dbb282a01d7410183185603c572dce47765a2bApprove202455642021-10-15 14:14:0719 hrs 28 mins ago0x5d4614b4e5e21d7344b369e09b9be2bb8241a307 IN  Frax Finance: FRAX Token0 MATIC0.00155352
0xb237afb7e6c428925f74d116c973b7f8a110cbefa658d876a43cee04cd9f9667Approve202401402021-10-15 10:29:1323 hrs 13 mins ago0x260e50dfc9ee172919fe947ce2c98704a5d33894 IN  Frax Finance: FRAX Token0 MATIC0.001657088
0x1ff578601a739231aa0b479c5cab6f875306dc15091786aef75c3bbeb7370e2dApprove202338302021-10-15 5:30:371 day 4 hrs ago0xc8b93c4079841353760dc7d268490ed61040d91c IN  Frax Finance: FRAX Token0 MATIC0.00182252
0x29c5a2480e1ed92f93a94bca02f8a6b7a8fd65aba8ad34030cec1f47e0523425Approve202331432021-10-15 4:57:301 day 4 hrs ago0xc3dd0b4d4e17acc7c51eab7bcfecae6b28f37ec1 IN  Frax Finance: FRAX Token0 MATIC0.00156216
0x54d35ae8ffea4fb62d9bda85afa1a76fcd4211193723adad6e3fbd3e4489e119Approve202305472021-10-15 2:42:441 day 7 hrs ago0xe636f13d315a420cdcd57f03164f334e35a7d1c0 IN  Frax Finance: FRAX Token0 MATIC0.00156216
0xdafdcb6e9a10ea4fe9f2b5d2bf25af259bf81120cccae55999c7124e8c74e69bApprove202276752021-10-15 0:52:101 day 8 hrs ago0xc482373030af1187e54f2dee7356043e39889eee IN  Frax Finance: FRAX Token0 MATIC0.00234324
0x89cce5560991a1ba75d78c2c2ee49c0bc36823cd4401e8727c35e93061b1b119Transfer202273752021-10-15 0:39:421 day 9 hrs ago0xbdf735ccac6bb7e8737bd89282eac7bd1d8ebe2c IN  Frax Finance: FRAX Token0 MATIC0.00171924
0xa7993ebdc3bb511b90f8399d789eb861145d565293cbb44b6af5d0fd4b497e53Approve202202302021-10-14 20:00:121 day 13 hrs ago0x3dba5032fea5179ec42caf04b8591f6e07c51049 IN  Frax Finance: FRAX Token0 MATIC0.00234324
0x1346db101070a9f56c066c37762a0a966f02b3204e3e5e208de2dd0d71698635Approve202040802021-10-14 8:51:522 days 51 mins ago0x18be2c52b52bdfb3131c8cc7c1306d9ca4c291d5 IN  Frax Finance: FRAX Token0 MATIC0.00095616
0x415002177338931d7343fcd6e85cf58a51b41b3ad90ac64f8f884a28948b09a1Approve202040712021-10-14 8:51:162 days 51 mins ago0x18be2c52b52bdfb3131c8cc7c1306d9ca4c291d5 IN  Frax Finance: FRAX Token0 MATIC0.00155316
0x2a43af0065c36772cf433405f78f5e6181b3b96713f81b02045c07eb27ee0c2cApprove201932702021-10-14 1:45:352 days 7 hrs ago0x41374b389772d5aed41240a57f5ffb087c6bfa93 IN  Frax Finance: FRAX Token0 MATIC0.00156216
0xf88688d348d489dc2cdf8a4766e1017ef19c8463d7671f7b20b8c5e680a74ad2Approve201927922021-10-14 1:29:112 days 8 hrs ago0x0d3c5e95928e581ad832c2a3866540fd141f5eda IN  Frax Finance: FRAX Token0 MATIC0.00156216
0x7ab0bdc05cd2513c64159da76a91134badd6ead96fed08b0b2aacf96271c5c5eApprove201903012021-10-13 23:46:222 days 9 hrs ago0x9fecf89c9ae7e00db4f7dbc6d499f9f8272de6c1 IN  Frax Finance: FRAX Token0 MATIC0.00156216
0x8e4994a59fee432b791d2d686a4ba84a58796682810e175fa0e9d3961330c8feApprove201885492021-10-13 22:34:252 days 11 hrs ago0xb0075683fa5f52e9e9713eeb4dc552a2b33065d1 IN  Frax Finance: FRAX Token0 MATIC0.00182252
0x989ee87fbcc0ffacc9ace141d3eca99f0b730a954d4230162b98155fef450d82Approve201779042021-10-13 15:38:492 days 18 hrs ago0xef06e789d7e99ae94cf29c2a211f836d7cb88563 IN  Frax Finance: FRAX Token0 MATIC0.00468648
0x912113857948b7a61b3133cc879c8f5cf5f7752f956e4dae5a9c55678a509ee9Approve201731092021-10-13 12:20:532 days 21 hrs ago0x299c43589b72fb42a9167bba6eb45a5284ca679e IN  Frax Finance: FRAX Token0 MATIC0.00156216
[ 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.