ETH Price: $3,392.28 (+1.72%)

Contract

0x804a6F5F667170F545Bf14e5DDB48C70B788390C
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Pending Gove...161270732022-12-06 16:53:47753 days ago1670345627IN
0x804a6F5F...0B788390C
0 ETH0.0012210323.2320785
Set Price Oracle161270722022-12-06 16:53:35753 days ago1670345615IN
0x804a6F5F...0B788390C
0 ETH0.0012378323.13025096
Set Price Oracle161270712022-12-06 16:53:23753 days ago1670345603IN
0x804a6F5F...0B788390C
0 ETH0.0012307223.00252087
Set Price Oracle161270702022-12-06 16:53:11753 days ago1670345591IN
0x804a6F5F...0B788390C
0 ETH0.0012815723.94757819
Set Default Time...161270692022-12-06 16:52:59753 days ago1670345579IN
0x804a6F5F...0B788390C
0 ETH0.0012599723.58925042
Set Bootstrap Mi...161270682022-12-06 16:52:47753 days ago1670345567IN
0x804a6F5F...0B788390C
0 ETH0.0012366423.29550879
Set Bootstrap Mi...161270672022-12-06 16:52:35753 days ago1670345555IN
0x804a6F5F...0B788390C
0 ETH0.0012738524.00727627
Set Valid Factor...161270662022-12-06 16:52:23753 days ago1670345543IN
0x804a6F5F...0B788390C
0 ETH0.0012788323.65143755
Set Valid Factor...161270652022-12-06 16:52:11753 days ago1670345531IN
0x804a6F5F...0B788390C
0 ETH0.0012257922.70071252
Set Valid Factor...161270642022-12-06 16:51:59753 days ago1670345519IN
0x804a6F5F...0B788390C
0 ETH0.0011776821.80972829
Set Valid Factor...161270632022-12-06 16:51:47753 days ago1670345507IN
0x804a6F5F...0B788390C
0 ETH0.0011579721.48302527
Set Valid Factor...161270622022-12-06 16:51:35753 days ago1670345495IN
0x804a6F5F...0B788390C
0 ETH0.0011218920.785784
Set Valid Collat...161270612022-12-06 16:51:23753 days ago1670345483IN
0x804a6F5F...0B788390C
0 ETH0.0010836120.37439878
Set Valid Collat...161270602022-12-06 16:51:11753 days ago1670345471IN
0x804a6F5F...0B788390C
0 ETH0.001117821.01721907
Set Valid Pool A...161270592022-12-06 16:50:59753 days ago1670345459IN
0x804a6F5F...0B788390C
0 ETH0.0010324119.38841792
Set Valid Pool A...161270572022-12-06 16:50:35753 days ago1670345435IN
0x804a6F5F...0B788390C
0 ETH0.0010491719.7031845
Set Valid Pool D...161270562022-12-06 16:50:23753 days ago1670345423IN
0x804a6F5F...0B788390C
0 ETH0.0010671420.0282734
Set Valid Pool D...161270552022-12-06 16:50:11753 days ago1670345411IN
0x804a6F5F...0B788390C
0 ETH0.0010366319.45567276
Set Valid Pool D...161270542022-12-06 16:49:59753 days ago1670345399IN
0x804a6F5F...0B788390C
0 ETH0.001040719.53201831
Set Valid Pool D...161270532022-12-06 16:49:47753 days ago1670345387IN
0x804a6F5F...0B788390C
0 ETH0.0010560519.8245477
Set Valid Pool D...161270522022-12-06 16:49:35753 days ago1670345375IN
0x804a6F5F...0B788390C
0 ETH0.0010946620.54469149
Set Valid Borrow...161270512022-12-06 16:49:23753 days ago1670345363IN
0x804a6F5F...0B788390C
0 ETH0.0006847820.56036675
Set Valid Borrow...161270502022-12-06 16:49:11753 days ago1670345351IN
0x804a6F5F...0B788390C
0 ETH0.0006987220.97906364
Set Valid Borrow...161270492022-12-06 16:48:59753 days ago1670345339IN
0x804a6F5F...0B788390C
0 ETH0.0011046820.76241136
Set Valid Borrow...161270482022-12-06 16:48:47753 days ago1670345327IN
0x804a6F5F...0B788390C
0 ETH0.0006899820.71660037
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NonTransparentProxy

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 2 : NonTransparentProxy.sol
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity 0.8.7;

import { INonTransparentProxy } from "./interfaces/INonTransparentProxy.sol";

contract NonTransparentProxy is INonTransparentProxy {

    bytes32 private constant ADMIN_SLOT          = bytes32(uint256(keccak256("eip1967.proxy.admin"))          - 1);
    bytes32 private constant IMPLEMENTATION_SLOT = bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1);

    constructor(address admin_, address implementation_) {
        _setAddress(ADMIN_SLOT,          admin_);
        _setAddress(IMPLEMENTATION_SLOT, implementation_);
    }

    /******************************************************************************************************************************/
    /*** Admin Functions                                                                                                        ***/
    /******************************************************************************************************************************/

    function setImplementation(address newImplementation_) override external {
        require(msg.sender == _admin(), "NTP:SI:NOT_ADMIN");
        _setAddress(IMPLEMENTATION_SLOT, newImplementation_);
    }

    /******************************************************************************************************************************/
    /*** View Functions                                                                                                         ***/
    /******************************************************************************************************************************/

    function _admin() internal view returns (address admin_) {
        admin_ = _getAddress(ADMIN_SLOT);
    }

    function _implementation() internal view returns (address implementation_) {
        implementation_ = _getAddress(IMPLEMENTATION_SLOT);
    }

    /******************************************************************************************************************************/
    /*** Utility Functions                                                                                                      ***/
    /******************************************************************************************************************************/

    function _setAddress(bytes32 slot_, address value_) private {
        assembly {
            sstore(slot_, value_)
        }
    }

    function _getAddress(bytes32 slot_) private view returns (address value_) {
        assembly {
            value_ := sload(slot_)
        }
    }

    /******************************************************************************************************************************/
    /*** Fallback Function                                                                                                      ***/
    /******************************************************************************************************************************/

    fallback() external {
        address implementation_ = _implementation();

        require(implementation_.code.length != 0, "NTP:F:NO_CODE_ON_IMPLEMENTATION");

        assembly {
            calldatacopy(0, 0, calldatasize())

            let result := delegatecall(gas(), implementation_, 0, calldatasize(), 0, 0)

            returndatacopy(0, 0, returndatasize())

            switch result
            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }

}

File 2 of 2 : INonTransparentProxy.sol
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity 0.8.7;

interface INonTransparentProxy {

    /**
     *  @dev   Sets the implementation address.
     *  @param newImplementation_ The address to set the implementation to.
     */
    function setImplementation(address newImplementation_) external;

}

Settings
{
  "remappings": [
    "contract-test-utils/=modules/contract-test-utils/contracts/",
    "debt-locker-v4/=modules/debt-locker-v4/contracts/",
    "erc20-helper/=modules/withdrawal-manager/modules/erc20-helper/src/",
    "erc20/=modules/erc20/",
    "globals-v2/=modules/globals-v2/",
    "liquidations/=modules/liquidations/contracts/",
    "loan-v301/=modules/loan-v301/contracts/",
    "loan-v302/=modules/loan-v302/contracts/",
    "loan-v400/=modules/loan-v400/contracts/",
    "loan-v401/=modules/loan-v401/contracts/",
    "loan/=modules/debt-locker-v4/modules/loan/contracts/",
    "maple-proxy-factory/=modules/withdrawal-manager/modules/maple-proxy-factory/",
    "migration-helpers/=modules/migration-helpers/contracts/",
    "non-transparent-proxy/=modules/migration-helpers/modules/non-transparent-proxy/",
    "pool-v2/=modules/pool-v2/contracts/",
    "proxy-factory/=modules/withdrawal-manager/modules/maple-proxy-factory/modules/proxy-factory/",
    "withdrawal-manager/=modules/withdrawal-manager/contracts/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"admin_","type":"address"},{"internalType":"address","name":"implementation_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[{"internalType":"address","name":"newImplementation_","type":"address"}],"name":"setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060405161037038038061037083398101604081905261002f916100b8565b61006261005d60017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61046100eb565b839055565b61009561009060017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6100eb565b829055565b5050610110565b80516001600160a01b03811681146100b357600080fd5b919050565b600080604083850312156100cb57600080fd5b6100d48361009c565b91506100e26020840161009c565b90509250929050565b60008282101561010b57634e487b7160e01b600052601160045260246000fd5b500390565b6102518061011f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063d784d426146100b7575b60006100356100cc565b90506001600160a01b0381163b6100935760405162461bcd60e51b815260206004820152601f60248201527f4e54503a463a4e4f5f434f44455f4f4e5f494d504c454d454e544154494f4e0060448201526064015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100b2573d6000f35b3d6000fd5b6100ca6100c53660046101c6565b610105565b005b60006101006100fc60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6101f6565b5490565b905090565b61010d610196565b6001600160a01b0316336001600160a01b0316146101605760405162461bcd60e51b815260206004820152601060248201526f272a281d29a49d2727aa2fa0a226a4a760811b604482015260640161008a565b61019361018e60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6101f6565b829055565b50565b60006101006100fc60017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61046101f6565b6000602082840312156101d857600080fd5b81356001600160a01b03811681146101ef57600080fd5b9392505050565b60008282101561021657634e487b7160e01b600052601160045260246000fd5b50039056fea264697066735822122046e9db0d05d97c7a38bb4202c748f16e252bda8233e1d7e2839f0d406c05730e64736f6c63430008070033000000000000000000000000632a45c25d2139e6b2745ec3e7d309def99f2b9f0000000000000000000000000ad92cb3fc4cd6697e0f14fb75f3d7da3bb2e056

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063d784d426146100b7575b60006100356100cc565b90506001600160a01b0381163b6100935760405162461bcd60e51b815260206004820152601f60248201527f4e54503a463a4e4f5f434f44455f4f4e5f494d504c454d454e544154494f4e0060448201526064015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156100b2573d6000f35b3d6000fd5b6100ca6100c53660046101c6565b610105565b005b60006101006100fc60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6101f6565b5490565b905090565b61010d610196565b6001600160a01b0316336001600160a01b0316146101605760405162461bcd60e51b815260206004820152601060248201526f272a281d29a49d2727aa2fa0a226a4a760811b604482015260640161008a565b61019361018e60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6101f6565b829055565b50565b60006101006100fc60017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61046101f6565b6000602082840312156101d857600080fd5b81356001600160a01b03811681146101ef57600080fd5b9392505050565b60008282101561021657634e487b7160e01b600052601160045260246000fd5b50039056fea264697066735822122046e9db0d05d97c7a38bb4202c748f16e252bda8233e1d7e2839f0d406c05730e64736f6c63430008070033

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

000000000000000000000000632a45c25d2139e6b2745ec3e7d309def99f2b9f0000000000000000000000000ad92cb3fc4cd6697e0f14fb75f3d7da3bb2e056

-----Decoded View---------------
Arg [0] : admin_ (address): 0x632a45c25d2139E6B2745eC3e7D309dEf99f2b9F
Arg [1] : implementation_ (address): 0x0ad92cb3Fc4cd6697E0f14Fb75F3d7da3Bb2e056

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000632a45c25d2139e6b2745ec3e7d309def99f2b9f
Arg [1] : 0000000000000000000000000ad92cb3fc4cd6697e0f14fb75f3d7da3bb2e056


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.