Contract 0x8f3cf7ad23cd3cadbd9735aff958023239c6a063 6

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x76578ea8af5f9375d73a42d4f753464f8e194b297108daf1ecc1cb1a301c6cb7Transfer204024772021-10-20 3:59:0347 secs ago0x7694058c0d2327036cd60e23c4e89bcc436603bc IN  Maker: Dai Stablecoin0 MATIC0.00091323
0x012ef8bf7cdc75c6bef95f028135747e8f8cc7fa5361749dff96bbfb4a344a58Transfer204024732021-10-20 3:58:5555 secs ago0x7694058c0d2327036cd60e23c4e89bcc436603bc IN  Maker: Dai Stablecoin0 MATIC0.00091323
0x9c338b1cb927de720675dcb884f6d46a26bda3ae086bd89bd78808ccd248db1cApprove204024532021-10-20 3:58:151 min ago0xa4974bba8f541f0cc28459042031312a10d27c04 IN  Maker: Dai Stablecoin0 MATIC0.00286396
0x567137b161808b93cf2b30f406f32e194a16cfc485e17d80227a32d794543468Approve204024522021-10-20 3:58:131 min ago0x1bf67b0147862d4274fd809dbee351cf7583164a IN  Maker: Dai Stablecoin0 MATIC0.00155316
0x7a30897320c54a069bd19ca77851cfba465254b7b71d245a148cf88fe00eca77Approve204024372021-10-20 3:57:432 mins ago0xdcf4b74a687338136dc3ec17bc74a9fdae926880 IN  Maker: Dai Stablecoin0 MATIC0.00156216
0x826321a4fc80cdd3659a504525cf190f4a10722cf0bed7ba7685798174bcbb34Execute Meta Tra...204024012021-10-20 3:56:273 mins ago0x3ce07ad298ee2b3aabea8c8b3f496c3acc51e647 IN  Maker: Dai Stablecoin0 MATIC0.01390722
0x12f239a38b29d4b89ed0df5d79c0429ccb5f01ad09585c811e382eebc9c64569Approve204023972021-10-20 3:56:193 mins ago0xb12c4b815f13d372a3252cd2300caf3a9c2016b2 IN  Maker: Dai Stablecoin0 MATIC0.001614232
0x58d706bd7a3a2cb6de780523e74b207025a6665efbb59ca18bae440b010a288aApprove204023642021-10-20 3:55:034 mins ago0x11e765721e8f1b13224a73b0361796e32e32bad8 IN  Maker: Dai Stablecoin0 MATIC0.00208288
0x20fc9b22836e1556d745989ef9776b53a26b9525db1ccfbb6203ae454a6e2915Approve204023612021-10-20 3:54:514 mins ago0x7d4e3fdb4e4748bfe34c98e9e1a90a75f116bf57 IN  Maker: Dai Stablecoin0 MATIC0.001074832
0xfb55a5f3ce1f21fec0fecaf7a51fa4f7ddbe81518b258a8b2d20a2ad6ae3f359Approve204023602021-10-20 3:54:475 mins ago0xb9fd6deeb0a9e7f7bbc1c838245413a5a04ce036 IN  Maker: Dai Stablecoin0 MATIC0.000646404
0xd6a88c41168306a9a51e3f62f3741524fbe94d74dfc34ee8df75defb5a83aebaApprove204023592021-10-20 3:54:435 mins ago0xde4d4fe4aaf83dc98e4c3a2d1af16df42cf5f71d IN  Maker: Dai Stablecoin0 MATIC0.001614232
0x4ff4894f4a4c79543ed669314c67edfcf48601f2ce1faa7fed5be1aab6edd1d7Approve204023492021-10-20 3:54:035 mins ago0xa3b1b5bce92c741d2b736a4d67bf9cacaeb7b751 IN  Maker: Dai Stablecoin0 MATIC0.00182252
0xe008c73979b128fe9d0faa2effb17e607445a7152cd2d608c445edb3615e66a7Approve204023402021-10-20 3:53:276 mins ago0x4a91f5ce1c88b30ea61ed5223ed72251b79fa467 IN  Maker: Dai Stablecoin0 MATIC0.001614232
0xfa14c04826d240cb26f0cf149bd67c33b2b85065b23c7147c321d289c1f594e3Approve204023192021-10-20 3:52:037 mins ago0xa4974bba8f541f0cc28459042031312a10d27c04 IN  Maker: Dai Stablecoin0 MATIC0.00286396
0x32433ef7e515aa589f10f5edcee3f513070096c7f3a998a9af6850cba354f0ebApprove204023022021-10-20 3:50:518 mins ago0xe67327adc1d949f3a0e8d6432a884a6cf3ce023a IN  Maker: Dai Stablecoin0 MATIC0.00155352
0xa30930b1a30e705cf7d69f34d3010eaadec6ea99a55b213d322a19e4c478dec1Transfer204022992021-10-20 3:50:399 mins ago0xc63b1e66326b6bffbef3e1a903c29771d70f8e20 IN  Maker: Dai Stablecoin0 MATIC0.00126894
0x7025f880221245b8d1bfb88c9e8f58a5013180247fa88892298d53aa5aca2957Approve204022992021-10-20 3:50:399 mins ago0xb85f7b4e75a7da0dee4f8c76e1a494cf2429f62f IN  Maker: Dai Stablecoin0 MATIC0.001718376
0x1524880d2180f50e93204ca2467c93cd51a822486062dc4a912c239321b49717Approve204022972021-10-20 3:50:319 mins ago0xe48c53f8b02ac43b48dba3fabec0e2a8e36b3c0a IN  Maker: Dai Stablecoin0 MATIC0.001614232
0x89a446fdc3c5b8fd5e8ffd6c6cb17f6b85e814fdeb421658bab38a7c08dc07e1Approve204022752021-10-20 3:49:0310 mins ago0xa5fe8f281da9c360ee81d1e75208edeb26d9e5ab IN  Maker: Dai Stablecoin0 MATIC0.001657472
0x7601b012337ea347a9c0a990e385a5faf90636fb617f4decb0ad2d4825fe7094Approve204022282021-10-20 3:46:1313 mins ago0xc16596c8dee8d961320fe57673e9b586bf83f4d6 IN  Maker: Dai Stablecoin0 MATIC0.00156216
0xe12073a99e93f7fe5e6b952ac4793019712b66a4a3bdf6f0b622b7334aaaa2d1Approve204021582021-10-20 3:43:4916 mins ago0x6909d5758c16f57bc6124f3ca28ff4f3702f9502 IN  Maker: Dai Stablecoin0 MATIC0.00466408904
0xbf0d17c86055cedff1b1203441aea591a15cf7d991b2bdbf408e0d2fd0882e4dApprove204021492021-10-20 3:43:3116 mins ago0x4b6541225483b02fb9e3c61cb76c93fd95d51f75 IN  Maker: Dai Stablecoin0 MATIC0.00156216
0x391e2305faf01934c170deb6d4ca86fb279107f11cfcabab77bf970c5ecae0b5Transfer204021402021-10-20 3:43:1316 mins ago0x371fa61d41bfdf16b85ad77605f7987343776a18 IN  Maker: Dai Stablecoin0 MATIC0.00126966
0x060d1ac15a1eed3c6a141eea6f5f2f0cf5271ca1d3563b0130b6f753100c5929Transfer204021042021-10-20 3:41:5717 mins ago0x9669fc6faf4c49728d4f32f3463b9ccebde7133d IN  Maker: Dai Stablecoin0 MATIC0.001862696
0x0fcfaad8da1a127f4962629e9d167641c2ae934ccb1041185d8534aa68fad443Approve204020902021-10-20 3:41:2918 mins ago0x6d8127c7082f75f7a0006fde991ccc0417b06ef1 IN  Maker: Dai Stablecoin0 MATIC0.000104144
[ Download CSV Export 

OVERVIEW

Multi-Collateral Dai, brings a lot of new and exciting features, such as support for new CDP collateral types and Dai Savings Rate.

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-29
*/

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

608060405234801561001057600080fd5b50604051610c85380380610c858339818101604052602081101561003357600080fd5b8101908080519060200190929190505050806100543361006a60201b60201c565b610063816100ab60201b60201c565b50506100cf565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e6572000000000000008152506019019050604051809103902090508181555050565b60006040518080610c63602291396022019050604051809103902090508181555050565b610b85806100de6000396000f3fe6080604052600436106100595760003560e01c8063025313a21461010e578063025b22bc146101655780634555d5c9146101b65780635c60da1b146101e1578063d88ca2c814610238578063f1739cae14610313576100b6565b366100b6576100b4610069610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b61010c6100c1610364565b6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610390565b005b34801561011a57600080fd5b506101236103ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017157600080fd5b506101b46004803603602081101561018857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103c9565b005b3480156101c257600080fd5b506101cb6105df565b6040518082815260200191505060405180910390f35b3480156101ed57600080fd5b506101f66105e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103116004803603604081101561024e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561028b57600080fd5b82018360208201111561029d57600080fd5b803590602001918460018302840111640100000000831117156102bf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506105f7565b005b34801561031f57600080fd5b506103626004803603602081101561033657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610813565b005b60008060006040518080610b2e6022913960220190506040518091039020905080549150819250505090565b600080825160208401856127105a03f43d604051816000823e82600081146103b6578282f35b8282fd5b60006103c4610a08565b905090565b3373ffffffffffffffffffffffffffffffffffffffff166103e8610a08565b73ffffffffffffffffffffffffffffffffffffffff1614610471576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610514576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f494e56414c49445f50524f58595f41444452455353000000000000000000000081525060200191505060405180910390fd5b61051d81610a51565b610572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610b096025913960400191505060405180910390fd5b61057a610364565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd32d24edea94f55e932d9a008afc425a8561462d1b1f57bc6e508e9a6b9509e160405160405180910390a36105dc81610aa3565b50565b60006002905090565b60006105f2610364565b905090565b3373ffffffffffffffffffffffffffffffffffffffff16610616610a08565b73ffffffffffffffffffffffffffffffffffffffff161461069f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6106a8826103c9565b600060603073ffffffffffffffffffffffffffffffffffffffff1634846040518082805190602001908083835b602083106106f857805182526020820191506020810190506020830392506106d5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461075a576040519150601f19603f3d011682016040523d82523d6000602084013e61075f565b606091505b509150915081819061080c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107d15780820151818401526020810190506107b6565b50505050905090810190601f1680156107fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff16610832610a08565b73ffffffffffffffffffffffffffffffffffffffff16146108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f4e4f545f4f574e4552000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5a45524f5f41444452455353000000000000000000000000000000000000000081525060200191505060405180910390fd5b7fdbe5fd65bcdbae152f24ab660ea68e72b4d4705b57b16e0caae994e214680ee281610988610a08565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1610a0581610ac7565b50565b600080600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e65720000000000000081525060190190506040518091039020905080549150819250505090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a905760009050610a9e565b6000823b9050600081119150505b919050565b60006040518080610b2e602291396022019050604051809103902090508181555050565b600060405180807f6d617469632e6e6574776f726b2e70726f78792e6f776e657200000000000000815250601901905060405180910390209050818155505056fe44455354494e4154494f4e5f414444524553535f49535f4e4f545f415f434f4e54524143546d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6ea26469706673582212208262e9eb2153cf52cdbce21b7ed8a72faf3469a061b389bcfdc789246642006364736f6c634300060600336d617469632e6e6574776f726b2e70726f78792e696d706c656d656e746174696f6e000000000000000000000000490e379c9cff64944be82b849f8fd5972c7999a7

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

000000000000000000000000490e379c9cff64944be82b849f8fd5972c7999a7

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000490e379c9cff64944be82b849f8fd5972c7999a7


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.