Contract 0x8f3cf7ad23cd3cadbd9735aff958023239c6a063 6

 
Ad
Ad
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xc7c9b0f46943780d2c857357faf54ca9ed8225b7101136b660b6fe203c9e1e95Approve203177782021-10-17 16:53:0621 secs ago0x9b94517c2a762e7b09f1810bc839f32201052c7f IN  Maker: Dai Stablecoin0 MATIC0.00156216
0x61ffa92b8bb744b05018cc6c197b9041445bcee21d6dce259a1b783d42ea4067Approve203177602021-10-17 16:52:3057 secs ago0x264902ce3200dba13b83a168d563497d2d347b53 IN  Maker: Dai Stablecoin0 MATIC0.00156216
0x94e261098f08dd66f30d2517244f9558e6abbe0b23b3e7e05079ed1eae07528bApprove203177432021-10-17 16:51:521 min ago0x284cc4eaf3650e3ec5bab5ac8b1b4e1a62b030a4 IN  Maker: Dai Stablecoin0 MATIC0.00156216
0x63262370d5328420be1125214f5725378651ebf16b5b44fdb62f6242fc4fe348Approve203177152021-10-17 16:50:562 mins ago0x4ef42e544e7eb9f1ea9ac1821e723980abf69961 IN  Maker: Dai Stablecoin0 MATIC0.001978736
0xee1f88650127ec8c7a327dcfc33711e364aa9a5d6fad7ccfeac70233b0624fcaApprove203176982021-10-17 16:50:223 mins ago0x535ea1b10ec3565421a87f4869a2182fcbc7b7fe IN  Maker: Dai Stablecoin0 MATIC0.00156216
0x27174d11c4b95abf87179c86a4adaa2067aa9d8f2598b63107b6e3c57d3b4ee9Approve203176382021-10-17 16:48:185 mins ago0x7c10c2d302e771ed5606b6d5664074a3abe89d18 IN  Maker: Dai Stablecoin0 MATIC0.0015618
0x714ccc8a3a46af942fea6315a22e0de0000350bb056898733a3f1354d4a2de9fApprove203176362021-10-17 16:48:145 mins ago0x3b60c691e42a0cb05c8b803467b5dd3c85043ddd IN  Maker: Dai Stablecoin0 MATIC0.0015618
0x140e7146f3258804fd9bff3fef721460bf4885d6e7911ddfe4dcd3d68a41da2dApprove203176202021-10-17 16:47:385 mins ago0x3c48e186eeff12f43b957c37366ea9aa67faf6b7 IN  Maker: Dai Stablecoin0 MATIC0.00233028
0x4ec9184ed0a026fe0d16c56bfc647b2a59cb7d350a8f5ce6bc365cad34ae4725Withdraw203176152021-10-17 16:47:285 mins ago0xfc5737a0fe325d6b2e0c9dc2ac1d81f549fd662c IN  Maker: Dai Stablecoin0 MATIC0.00073974
0xcb694bd0304849c2aaafe7f4a5da0011a08f28b0aa4e70974622389a5c4d394eTransfer203176072021-10-17 16:47:126 mins ago0x6b92686c40747c85809a6772d0eda8e22a77c60c IN  Maker: Dai Stablecoin0 MATIC0.002693266
0x9680a6c2038007f0d9ac85b0489e7d8f66db284a0b5e6c2fc15565ba800f8624Approve203175782021-10-17 16:46:147 mins ago0x2a7e37e6d20fcad43c6646445e50048467312212 IN  Maker: Dai Stablecoin0 MATIC0.00156216
0x2aaca60949abba7f4b1be69aee481bb96a96dd490a0e98f70eb56dad90639971Approve203175652021-10-17 16:45:407 mins ago0xb4e7a5e17e0c3b3182a4aad7902e9f08060a2427 IN  Maker: Dai Stablecoin0 MATIC0.00156216
0x304381b139e64fb6aabd258a81e760ff2e7796f026fd55511b0a4bd89b0ee752Approve203175632021-10-17 16:45:327 mins ago0x535ea1b10ec3565421a87f4869a2182fcbc7b7fe IN  Maker: Dai Stablecoin0 MATIC0.00156216
0x118ca9b7b36077e4317378b4c9822c792ac2c317c0eb8d97b71671269e7f7d4aApprove203175582021-10-17 16:45:128 mins ago0x142769f06e9ed0fa58bdee540be49014fe0c9c7d IN  Maker: Dai Stablecoin0 MATIC0.0015528
0xed1658e23a200f7d481fd0216f06a94ea1ec043d08cd5345e1bf759c117bd3d7Approve203175552021-10-17 16:45:008 mins ago0x5a5b33f16cecaa884a661cc6f5d20fc7ed32ef83 IN  Maker: Dai Stablecoin0 MATIC0.001718376
0xa1c934fae210da329abd8b16e58a2484d8227c67fda9b8e75f6f8613e4a5090eTransfer203175532021-10-17 16:44:528 mins ago0xb3e2322b7507f47a55019c2eaaa1e954be99fd9c IN  Maker: Dai Stablecoin0 MATIC0.00120558
0x270992eb3b6162207ffb31f5130c10d3226a0903555892ff0bb6a7d0169c7da9Approve203175482021-10-17 16:44:328 mins ago0x1e008c0d28d99095ca50a6dee5e1017e600657f3 IN  Maker: Dai Stablecoin0 MATIC0.0051808
0x1085e4330e211ef5d7703925a67389d77d31a41137e320bc00cb9a94402b1df4Approve203175262021-10-17 16:43:0410 mins ago0x12ef58947285f01ce8d8ecd90b3ea384b022cd1c IN  Maker: Dai Stablecoin0 MATIC0.0015528
0xe2a6936c11e8f7140f6931b0ae9dfd1d2fba56431f9f323b133bd3c1df5857ffTransfer203175042021-10-17 16:41:3611 mins ago0x37412030b6c897303ebaf80957832a81c8331bea IN  Maker: Dai Stablecoin0 MATIC0.00148043
0x2684366e1e1689a34e3d4e4b1f2661f19d087796204a47adc7dfff596387425cApprove203175042021-10-17 16:41:3611 mins ago0x64a90b463f077dda8e2ecd65161f7484ef4a9aea IN  Maker: Dai Stablecoin0 MATIC0.0051796
0x00a6a52dd29ddccaaac75776db80d1bfea1538ae499393fd65d34e4775eb62ceTransfer203174962021-10-17 16:41:1412 mins ago0xb3e2322b7507f47a55019c2eaaa1e954be99fd9c IN  Maker: Dai Stablecoin0 MATIC0.00120594
0xac0f06d97c3f51ae7db314566a5e32215877777769fb2e38cc40ce7054d505a6Transfer203174862021-10-17 16:40:5412 mins ago0x66c0d9152209b51977047b9dc3b0b5bf2339b67c IN  Maker: Dai Stablecoin0 MATIC0.0014842386
0x7e234cab02d45fc08539183186ef381648aa1b6fdfb3e47dc5e8ca7845980bfdApprove203174562021-10-17 16:39:5413 mins ago0xccd95ac0504549cb1677b6cd2cf913b0ba21ac30 IN  Maker: Dai Stablecoin0 MATIC0.003176392
0xd84d5730f38947fac109ebd67655284c40a24e4b93c0790eb7692e0413411caaTransfer203174362021-10-17 16:39:1014 mins ago0x5a159609df721fecc4f8e0acd52676d04f70cfa2 IN  Maker: Dai Stablecoin0 MATIC0.00148127
0x3886dc959df3e89b86fb914ab88a542576fedb94f8962176ef59026cc41169bfApprove203174132021-10-17 16:38:2415 mins ago0xc990c2a1bd95b46cf8c5e0ec1cbdae5544fcede8 IN  Maker: Dai Stablecoin0 MATIC0.0015618
[ 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.