ETH Price: $3,276.79 (-1.90%)

Contract

0x888888888889758F76e7103c6CbF23ABbF58F946
 

Overview

ETH Balance

0.000220833485187823 ETH

Eth Value

$0.72 (@ $3,276.79/ETH)

Token Holdings

Transaction Hash
Method
Block
From
To
0xbc431136de94c4bd258f8a83de9cb8a7297149b024a6cfd874767b3a7c2831b0 Swap Exact Token...(pending)2024-12-23 6:54:0215 secs ago1734936842IN
Pendle: RouterV4
0.011 ETH(Pending)(Pending)
0x4b82b1b8ebff5dd0210f49ac9ff22641e118a92690431d7e4167573327369b06 Swap Exact Token...(pending)2024-12-23 6:52:132 mins ago1734936733IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0x7934b1dfe58705524938a74edf637f31de79f51ca92bd33e124af4c3e438142e Swap Exact Token...(pending)2024-12-22 4:58:5125 hrs ago1734843531IN
Pendle: RouterV4
0.005 ETH(Pending)(Pending)
0x3915b8d87c9bcca4b6d0f77b5f2319be65bd382d973abe24a7fe14b9ddb632f4 Call And Reflect(pending)2024-12-22 2:28:5228 hrs ago1734834532IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0xb9bb9b44e00f06ca85aa5f84bb4f3e95eee0ef58bd9da2e87395f34e48575aa7 Redeem Due Inter...(pending)2024-12-22 1:42:0329 hrs ago1734831723IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0xc13c354c96f976f3353181708422aed1115a4be6a6a3564ed7639c6c8e38ca29 Multicall(pending)2024-12-22 1:33:3929 hrs ago1734831219IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0x74ae4e735cb3e78b467d2424cee8e8e57783e68e3c172a3ec45cf0370a5a8853 Redeem Due Inter...(pending)2024-12-22 1:29:4429 hrs ago1734830984IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0x036244e599847f735ed3ea6d7587a3b1e02519a3d4583a41e01414b0c6d8e880 Swap Exact Token...(pending)2024-12-22 1:29:4029 hrs ago1734830980IN
Pendle: RouterV4
0.001 ETH(Pending)(Pending)
0x5c1122e83c2524df01be2904f40c940e22362523cc57a28304437aec38237c28 Swap Exact Token...(pending)2024-12-22 1:29:4029 hrs ago1734830980IN
Pendle: RouterV4
0.005 ETH(Pending)(Pending)
0xcf2bae943417e4ba5d156c95f58ad710e3f41e7bc0c950b47345c72150617ddf Swap Exact Token...(pending)2024-12-22 1:28:5229 hrs ago1734830932IN
Pendle: RouterV4
0.0026 ETH(Pending)(Pending)
0x35d389f7904ff8f5ff5790faf90b44460baba7315be447e45e271629011cd034 Swap Exact Token...(pending)2024-12-22 1:28:5229 hrs ago1734830932IN
Pendle: RouterV4
0.003 ETH(Pending)(Pending)
0xab99d434b1a94fbeef9df8a1c76fb52d3e97adc3daf27cb332d4cda3b377ad33 Swap Exact Token...(pending)2024-12-22 1:28:4929 hrs ago1734830929IN
Pendle: RouterV4
0.0032 ETH(Pending)(Pending)
0xe6d0ce743404100622dab4c69e427dd459e62f472a4376794e81ab71f9737e93 Swap Exact Token...(pending)2024-12-15 2:01:148 days ago1734228074IN
Pendle: RouterV4
0.000408765 ETH(Pending)(Pending)
0x875ffcc6989b07c8dd430ba4534cd2fa6eba4cc6281b620ae74b750f1a3ab1d6 Call And Reflect(pending)2024-12-15 1:25:408 days ago1734225940IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0x79ea229788863eba608c6415c40bf2b98ae38f60b3f079b24233ab04f84605f9 Redeem Due Inter...(pending)2024-12-15 1:24:268 days ago1734225866IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0xb325cd249376f5e5575ea86b35555b66523ef36738a713a13d43f6e17b623607 Swap Exact Token...(pending)2024-12-15 1:21:508 days ago1734225710IN
Pendle: RouterV4
0.003 ETH(Pending)(Pending)
0x290e66d12b8870d2eea674317264d75028e54a3c38725d017a7118c2c9a63ca4 Swap Exact Token...(pending)2024-12-15 1:19:148 days ago1734225554IN
Pendle: RouterV4
0.0004074646 ETH(Pending)(Pending)
0x59abd7c3e592c70154eecc84a560367a2a856e8a0cb9d2f029053279f6b419ba Swap Exact Token...(pending)2024-12-15 1:18:518 days ago1734225531IN
Pendle: RouterV4
0.0033 ETH(Pending)(Pending)
0x01a8c2e2ff2c154fb91d51bddb4994a6748708bdd2b25bcb4083d39bb04cf72a Redeem Due Inter...(pending)2024-12-15 1:18:298 days ago1734225509IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0xd58f750a411420c3d9cde19a03017b4ed55c3c49d26b2128331f6faa8f82add1 Redeem Py To Tok...(pending)2024-12-15 1:18:268 days ago1734225506IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0x728cab9985aef7aaf7d669623e7a161990a68bcb4f312563aa273c03dc1b6901 Swap Exact Token...(pending)2024-12-15 1:18:248 days ago1734225504IN
Pendle: RouterV4
0.010182 ETH(Pending)(Pending)
0x2e354dd961bd9d08a5109ac6c6b61267d29c156731f2af07f32b8ae950ccd483 Swap Exact Token...(pending)2024-12-08 2:29:5115 days ago1733624991IN
Pendle: RouterV4
0.00326 ETH(Pending)(Pending)
0xe5fe66b181ea4fbfeef73f393c5fd660fe76d1663ed5c7f99f52af4ca08044fd Swap Exact Token...(pending)2024-12-08 2:23:3915 days ago1733624619IN
Pendle: RouterV4
0.000421596 ETH(Pending)(Pending)
0x40e49d2dd45d26e7ade3aa7491a65bf3b73edbb4ebd275dccd42e770fd958fbb Swap Exact Token...(pending)2024-12-08 2:18:1715 days ago1733624297IN
Pendle: RouterV4
0.012 ETH(Pending)(Pending)
0x828594f0bf02a163031f77722878f8a337d63e741fa94ca640aefb9ac47a873d Swap Exact Token...(pending)2024-12-07 0:01:4116 days ago1733529701IN
Pendle: RouterV4
0.01 ETH(Pending)(Pending)
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
21463528-
Pendle: RouterV4
0.011 ETH
214635142024-12-23 6:51:232 mins ago1734936683
Pendle: RouterV4
0.01 ETH
214635132024-12-23 6:51:113 mins ago1734936671
Pendle: RouterV4
0.0102 ETH
214635102024-12-23 6:50:353 mins ago1734936635
Pendle: RouterV4
0.01 ETH
214635102024-12-23 6:50:353 mins ago1734936635
Pendle: RouterV4
0.011 ETH
214635042024-12-23 6:49:234 mins ago1734936563
Pendle: RouterV4
0.0112 ETH
214635042024-12-23 6:49:234 mins ago1734936563
Pendle: RouterV4
0.011 ETH
214635012024-12-23 6:48:475 mins ago1734936527
Pendle: RouterV4
0.0153 ETH
214634982024-12-23 6:48:116 mins ago1734936491
Pendle: RouterV4
0.016 ETH
214634982024-12-23 6:48:116 mins ago1734936491
Pendle: RouterV4
0.00003504 ETH
214634982024-12-23 6:48:116 mins ago1734936491
Pendle: RouterV4
0.0155 ETH
214634952024-12-23 6:47:356 mins ago1734936455
Pendle: RouterV4
0.00018578 ETH
214634952024-12-23 6:47:356 mins ago1734936455
Pendle: RouterV4
0.0154 ETH
214634602024-12-23 6:40:3513 mins ago1734936035
Pendle: RouterV4
0.01 ETH
214634532024-12-23 6:39:1115 mins ago1734935951
Pendle: RouterV4
0.01 ETH
214634332024-12-23 6:35:1119 mins ago1734935711
Pendle: RouterV4
0.0063 ETH
214634232024-12-23 6:33:1121 mins ago1734935591
Pendle: RouterV4
0.01 ETH
214634152024-12-23 6:31:3522 mins ago1734935495
Pendle: RouterV4
0.013 ETH
214633902024-12-23 6:26:3527 mins ago1734935195
Pendle: RouterV4
0.011 ETH
214633902024-12-23 6:26:3527 mins ago1734935195
Pendle: RouterV4
0.01 ETH
214633862024-12-23 6:25:3528 mins ago1734935135
Pendle: RouterV4
0.011 ETH
214633852024-12-23 6:25:2328 mins ago1734935123
Pendle: RouterV4
0.01 ETH
214633812024-12-23 6:24:3529 mins ago1734935075
Pendle: RouterV4
0.008 ETH
214633592024-12-23 6:20:1134 mins ago1734934811
Pendle: RouterV4
0.0121 ETH
214633582024-12-23 6:19:5934 mins ago1734934799
Pendle: RouterV4
0.011 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PendleRouterV4

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
shanghai EvmVersion
File 1 of 4 : PendleRouterV4.sol
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.17;

import "@openzeppelin/contracts/proxy/Proxy.sol";
import "../interfaces/IPActionStorageV4.sol";
import "./RouterStorage.sol";

contract PendleRouterV4 is Proxy, RouterStorage {
    constructor(address _owner, address actionStorage) {
        RouterStorage.CoreStorage storage $ = _getCoreStorage();
        $.owner = _owner;
        $.selectorToFacet[IPActionStorageV4.setSelectorToFacets.selector] = actionStorage;
    }

    function _implementation() internal view override returns (address) {
        RouterStorage.CoreStorage storage $ = _getCoreStorage();
        address facet = $.selectorToFacet[msg.sig];
        require(facet != address(0), "INVALID_SELECTOR");
        return facet;
    }

    receive() external payable override {}
}

File 2 of 4 : Proxy.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (proxy/Proxy.sol)

pragma solidity ^0.8.0;

/**
 * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
 * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to
 * be specified by overriding the virtual {_implementation} function.
 *
 * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a
 * different contract through the {_delegate} function.
 *
 * The success and return data of the delegated call will be returned back to the caller of the proxy.
 */
abstract contract Proxy {
    /**
     * @dev Delegates the current call to `implementation`.
     *
     * This function does not return to its internal call site, it will return directly to the external caller.
     */
    function _delegate(address implementation) internal virtual {
        assembly {
            // Copy msg.data. We take full control of memory in this inline assembly
            // block because it will not return to Solidity code. We overwrite the
            // Solidity scratch pad at memory position 0.
            calldatacopy(0, 0, calldatasize())

            // Call the implementation.
            // out and outsize are 0 because we don't know the size yet.
            let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)

            // Copy the returned data.
            returndatacopy(0, 0, returndatasize())

            switch result
            // delegatecall returns 0 on error.
            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }

    /**
     * @dev This is a virtual function that should be overridden so it returns the address to which the fallback function
     * and {_fallback} should delegate.
     */
    function _implementation() internal view virtual returns (address);

    /**
     * @dev Delegates the current call to the address returned by `_implementation()`.
     *
     * This function does not return to its internal call site, it will return directly to the external caller.
     */
    function _fallback() internal virtual {
        _beforeFallback();
        _delegate(_implementation());
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other
     * function in the contract matches the call data.
     */
    fallback() external payable virtual {
        _fallback();
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data
     * is empty.
     */
    receive() external payable virtual {
        _fallback();
    }

    /**
     * @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback`
     * call, or as part of the Solidity `fallback` or `receive` functions.
     *
     * If overridden should call `super._beforeFallback()`.
     */
    function _beforeFallback() internal virtual {}
}

File 3 of 4 : IPActionStorageV4.sol
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.0;

interface IPActionStorageV4 {
    struct SelectorsToFacet {
        address facet;
        bytes4[] selectors;
    }

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    event SelectorToFacetSet(bytes4 indexed selector, address indexed facet);

    function owner() external view returns (address);

    function pendingOwner() external view returns (address);

    function transferOwnership(address newOwner, bool direct, bool renounce) external;

    function claimOwnership() external;

    function setSelectorToFacets(SelectorsToFacet[] calldata arr) external;

    function selectorToFacet(bytes4 selector) external view returns (address);
}

File 4 of 4 : RouterStorage.sol
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.17;

abstract contract RouterStorage {
    struct CoreStorage {
        address owner;
        address pendingOwner;
        mapping(bytes4 => address) selectorToFacet;
    }

    // keccak256(abi.encode(uint256(keccak256("pendle.routerv4.Core")) - 1)) & ~bytes32(uint256(0xff))
    bytes32 private constant CORE_STORAGE_LOCATION = 0xf168c5b0cb4aca9a68f931815c18a144c61ad01d6dd7ca15bd6741672a0ab800;

    function _getCoreStorage() internal pure returns (CoreStorage storage $) {
        assembly {
            $.slot := CORE_STORAGE_LOCATION
        }
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 1000000
  },
  "viaIR": true,
  "evmVersion": "shanghai",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"actionStorage","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"stateMutability":"payable","type":"receive"}]

6080346100f957601f61024538819003918201601f19168301916001600160401b038311848410176100fd5780849260409485528339810103126100f957610052602061004b83610111565b9201610111565b7ff168c5b0cb4aca9a68f931815c18a144c61ad01d6dd7ca15bd6741672a0ab80080546001600160a01b039384166001600160a01b03199182161790915563523edfc160e11b5f527ff168c5b0cb4aca9a68f931815c18a144c61ad01d6dd7ca15bd6741672a0ab8026020527f64dcb2031b93f2b828088d68228a52c10b3bf4eb531ee3da663820f1b8fd2a6d805492909316911617905560405161011f90816101268239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100f95756fe6080604052361560e7577fffffffff000000000000000000000000000000000000000000000000000000005f35165f527ff168c5b0cb4aca9a68f931815c18a144c61ad01d6dd7ca15bd6741672a0ab80260205273ffffffffffffffffffffffffffffffffffffffff60405f2054168015608f575f8091368280378136915af43d5f803e15608b573d5ff35b3d5ffd5b7f08c379a0000000000000000000000000000000000000000000000000000000006080526020608452601060a4527f494e56414c49445f53454c4543544f520000000000000000000000000000000060c45260646080fd5b00fea2646970667358221220fb238a4872e09c3860528f78146507d0193bd6d15bb6de3664daec4da78e4eb964736f6c634300081800330000000000000000000000001fccc097db89a86bfc474a1028f93958295b1fb70000000000000000000000002d36f2a022d1170f33fdfd5670833c447c0c9ff3

Deployed Bytecode

0x6080604052361560e7577fffffffff000000000000000000000000000000000000000000000000000000005f35165f527ff168c5b0cb4aca9a68f931815c18a144c61ad01d6dd7ca15bd6741672a0ab80260205273ffffffffffffffffffffffffffffffffffffffff60405f2054168015608f575f8091368280378136915af43d5f803e15608b573d5ff35b3d5ffd5b7f08c379a0000000000000000000000000000000000000000000000000000000006080526020608452601060a4527f494e56414c49445f53454c4543544f520000000000000000000000000000000060c45260646080fd5b00fea2646970667358221220fb238a4872e09c3860528f78146507d0193bd6d15bb6de3664daec4da78e4eb964736f6c63430008180033

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

0000000000000000000000001fccc097db89a86bfc474a1028f93958295b1fb70000000000000000000000002d36f2a022d1170f33fdfd5670833c447c0c9ff3

-----Decoded View---------------
Arg [0] : _owner (address): 0x1FcCC097db89A86Bfc474A1028F93958295b1Fb7
Arg [1] : actionStorage (address): 0x2D36f2A022D1170f33fDFD5670833C447c0c9Ff3

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000001fccc097db89a86bfc474a1028f93958295b1fb7
Arg [1] : 0000000000000000000000002d36f2a022d1170f33fdfd5670833c447c0c9ff3


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  ]
[ 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.