ETH Price: $3,318.03 (-1.24%)

Contract

0x888888888889758F76e7103c6CbF23ABbF58F946
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Transaction Hash
Method
Block
From
To
0x108f30a95c83e2ff1338465df6baa3902a67b6f48f12269cf9c8a2a3bf01d865 Multicall(pending)2024-11-22 14:08:219 hrs ago1732284501IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0xa30696c4252bad330f6517adb81f7ffb78fbd4e3164047e2648f6e4cfee2ca13 Swap Exact Token...(pending)2024-11-22 6:01:3717 hrs ago1732255297IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0xc13c354c96f976f3353181708422aed1115a4be6a6a3564ed7639c6c8e38ca29 Multicall(pending)2024-11-21 9:11:0738 hrs ago1732180267IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0x30d516a31437cdec6d4b89fedbadde7d7b4e21a5456b4a2229ed46a17f98649c Swap Exact Token...(pending)2024-11-21 1:01:0646 hrs ago1732150866IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0xe0c3683d3ebaa58a431aeaa0ad05aa6efb2bd3d849f498b632cfb054e9600f84 Swap Exact Token...(pending)2024-11-20 13:03:462 days ago1732107826IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0xecc536fc8913d53ad827006f457da234e890185061bef4d8417d02206f813fec Swap Exact Token...(pending)2024-11-20 13:02:312 days ago1732107751IN
Pendle: RouterV4
0.01 ETH(Pending)(Pending)
0x38b22aa453f21b5bb116a2f3fa2820f686f5ab8d2612762d1d88852e7b59d811 Swap Exact Token...(pending)2024-11-20 13:02:272 days ago1732107747IN
Pendle: RouterV4
0.01 ETH(Pending)(Pending)
0x755f42dab7f5ec13990ca3e51ded06e75b67886127d9b1e27197a3bc6b82b36b Swap Exact Token...(pending)2024-11-20 13:02:272 days ago1732107747IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0x082384b2c3d71a30b0a0c87facdfec0c1854d451a391c4be47c3fba4d5c11f21 Add Liquidity Si...(pending)2024-11-17 13:35:315 days ago1731850531IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0x3e7306cfa06e3e10c480cc3a40efdf5a767c1865f98cd170ebabefa4aec02c84 Swap Exact Token...(pending)2024-11-16 22:21:026 days ago1731795662IN
Pendle: RouterV4
0.001 ETH(Pending)(Pending)
0xb3c4036a950523ce3df8e4e2545708ecb955a2f3962b34001ebf18966ea66b61 Redeem Due Inter...(pending)2024-11-11 21:22:2611 days ago1731360146IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0xfc92aa37ec77973dd377e38feb887fb2e4804417f2fc43c873d2cf13b2cf0aff Call And Reflect(pending)2024-11-10 11:21:0012 days ago1731237660IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0xb4ab360b8c6933e40998ee42ea264b8264efb2b1c955847236e32d4495a35d12 Swap Exact Token...(pending)2024-11-06 18:01:5716 days ago1730916117IN
Pendle: RouterV4
0.0076 ETH(Pending)(Pending)
0x828594f0bf02a163031f77722878f8a337d63e741fa94ca640aefb9ac47a873d Swap Exact Token...(pending)2024-11-06 14:01:2416 days ago1730901684IN
Pendle: RouterV4
0.01 ETH(Pending)(Pending)
0xa9e38e6769d5f05873122f1455bc086b880863bf6ed12b432bbb04a4253a922b Swap Exact Token...(pending)2024-11-06 14:01:2416 days ago1730901684IN
Pendle: RouterV4
0.0101 ETH(Pending)(Pending)
0x83e18cf982e97884c8665b7eef6aa694fc9bb55be5d17d264de2c1487b27c4ff Swap Exact Token...(pending)2024-11-06 13:01:3916 days ago1730898099IN
Pendle: RouterV4
0.0075 ETH(Pending)(Pending)
0x86c312a5056255673341e1de98aedddc21a14e7abc691f2b387020a00c5d3964 Swap Exact Token...(pending)2024-11-05 15:01:1617 days ago1730818876IN
Pendle: RouterV4
0.0015 ETH(Pending)(Pending)
0xef3857675e99d24ebc24479ba32fcce1e7201daddafae0c45e08ac9aaf55956d Swap Exact Token...(pending)2024-11-05 14:01:2517 days ago1730815285IN
Pendle: RouterV4
0.0102 ETH(Pending)(Pending)
0xcef618c4888cc1a40d983abe922bc19254f400d2c40cfaa8b885802d0102d75f Swap Exact Token...(pending)2024-11-05 13:02:2317 days ago1730811743IN
Pendle: RouterV4
0.011 ETH(Pending)(Pending)
0x1c6ee5c8052f7d7ee1a2709399f8398fa7912f254a8ebe6b196d6f77840c63af Add Liquidity Si...(pending)2024-11-05 13:01:5117 days ago1730811711IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0xa15f05daed827fa11fc8a0ef892d951679ee42209137a9c4658998254cb2b3b8 Add Liquidity Si...(pending)2024-11-05 13:01:3917 days ago1730811699IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0x30b8e92e5682d7bb0b0d119017a26c73240baf49125660eda562662f31160485 Swap Exact Token...(pending)2024-11-05 13:01:3917 days ago1730811699IN
Pendle: RouterV4
0.002 ETH(Pending)(Pending)
0x0e2dbec8a175527a0f296913468aed110d71956523bf9ff09489b3cebc762e98 Add Liquidity Si...(pending)2024-11-05 13:01:3517 days ago1730811695IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
0xd1a897ffdb9d035bfdc3118530accb9079aef396654bbf9823d0265ddb48a1cc Swap Exact Token...(pending)2024-11-05 13:01:3517 days ago1730811695IN
Pendle: RouterV4
0.0018912 ETH(Pending)(Pending)
0x3c8812372e89266ec579342d4e1b8685a15657e19cefa83d9574004af41677b0 Redeem Sy To Tok...(pending)2024-11-05 13:01:3517 days ago1730811695IN
Pendle: RouterV4
0 ETH(Pending)(Pending)
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
212465172024-11-22 23:21:117 mins ago1732317671
Pendle: RouterV4
0.123 ETH
212464982024-11-22 23:17:1111 mins ago1732317431
Pendle: RouterV4
0.13150187 ETH
212464982024-11-22 23:17:1111 mins ago1732317431
Pendle: RouterV4
0.13150187 ETH
212458092024-11-22 20:58:592 hrs ago1732309139
Pendle: RouterV4
0.08061197 ETH
212458092024-11-22 20:58:592 hrs ago1732309139
Pendle: RouterV4
0.08061197 ETH
212458032024-11-22 20:57:472 hrs ago1732309067
Pendle: RouterV4
0.08725217 ETH
212458032024-11-22 20:57:472 hrs ago1732309067
Pendle: RouterV4
0.08725217 ETH
212457952024-11-22 20:56:112 hrs ago1732308971
Pendle: RouterV4
1.08383313 ETH
212457952024-11-22 20:56:112 hrs ago1732308971
Pendle: RouterV4
1.08383313 ETH
212457882024-11-22 20:54:472 hrs ago1732308887
Pendle: RouterV4
1.46716879 ETH
212457882024-11-22 20:54:472 hrs ago1732308887
Pendle: RouterV4
1.46716879 ETH
212457832024-11-22 20:53:472 hrs ago1732308827
Pendle: RouterV4
3.76077342 ETH
212457832024-11-22 20:53:472 hrs ago1732308827
Pendle: RouterV4
3.76077342 ETH
212457602024-11-22 20:49:112 hrs ago1732308551
Pendle: RouterV4
0.46 ETH
212457562024-11-22 20:48:232 hrs ago1732308503
Pendle: RouterV4
0.985 ETH
212454602024-11-22 19:48:593 hrs ago1732304939
Pendle: RouterV4
0.05686512 ETH
212454602024-11-22 19:48:593 hrs ago1732304939
Pendle: RouterV4
0.05686512 ETH
212454232024-11-22 19:41:353 hrs ago1732304495
Pendle: RouterV4
7.6 ETH
212449762024-11-22 18:12:115 hrs ago1732299131
Pendle: RouterV4
3.37 ETH
212449692024-11-22 18:10:475 hrs ago1732299047
Pendle: RouterV4
3.37 ETH
212449642024-11-22 18:09:475 hrs ago1732298987
Pendle: RouterV4
3.37 ETH
212449212024-11-22 18:01:115 hrs ago1732298471
Pendle: RouterV4
0.02078764 ETH
212449212024-11-22 18:01:115 hrs ago1732298471
Pendle: RouterV4
0.02078764 ETH
212449142024-11-22 17:59:475 hrs ago1732298387
Pendle: RouterV4
1 ETH
212448962024-11-22 17:56:115 hrs ago1732298171
Pendle: RouterV4
0.001 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.