HYPE Price: $22.41 (+1.22%)
 

Overview

HYPE Balance

HyperEVM LogoHyperEVM LogoHyperEVM Logo0 HYPE

HYPE Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Migrate240080082026-01-08 10:30:0018 days ago1767868200IN
0xA65569b7...16C46Cc36
0 HYPE0.000503640.6594849
Migrate240070322026-01-08 10:14:0018 days ago1767867240IN
0xA65569b7...16C46Cc36
0 HYPE0.001820592.384
Migrate240061172026-01-08 9:59:0018 days ago1767866340IN
0xA65569b7...16C46Cc36
0 HYPE0.000113410.14851193
Migrate240059342026-01-08 9:56:0018 days ago1767866160IN
0xA65569b7...16C46Cc36
0 HYPE0.000091630.12
Migrate240054462026-01-08 9:48:0018 days ago1767865680IN
0xA65569b7...16C46Cc36
0 HYPE0.000112280.14709509
Migrate240052022026-01-08 9:44:0018 days ago1767865440IN
0xA65569b7...16C46Cc36
0 HYPE0.000948691.20293227

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HyperLendLoanMigrator

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
Yes with 200 runs

Other Settings:
prague EvmVersion
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "./interfaces/IHyperLendPool.sol";

// Simple SafeERC20 implementation to avoid external dependencies for this example
library SafeERC20 {
    function safeTransfer(IERC20 token, address to, uint256 value) internal {
        require(token.transfer(to, value), "SafeERC20: transfer failed");
    }

    function safeTransferFrom(
        IERC20 token,
        address from,
        address to,
        uint256 value
    ) internal {
        require(
            token.transferFrom(from, to, value),
            "SafeERC20: transferFrom failed"
        );
    }

    function safeApprove(
        IERC20 token,
        address spender,
        uint256 value
    ) internal {
        require(token.approve(spender, value), "SafeERC20: approve failed");
    }
}

/**
 * @title HyperLendLoanMigrator
 * @notice Atomically migrates a debt+collateral position from one account to another using Flash Loans.
 */
contract HyperLendLoanMigrator is IFlashLoanReceiver {
    using SafeERC20 for IERC20;

    IHyperLendPool public immutable POOL;

    // Aave V3 uses mode 2 for variable debt
    uint256 private constant INTEREST_RATE_MODE_VARIABLE = 2;
    uint16 private constant REFERRAL_CODE = 0;
    address private immutable owner;
	address private immutable from;
	address private immutable to;

    struct MigrationParams {
        address debtAsset; // Underlying debt (e.g., HYPE)
        address aTokenAddress; // The kHYPE/aToken address to transfer from 'from'
    }


    constructor(address _pool, address _from, address _to) {
        POOL = IHyperLendPool(_pool);
		from =  _from;
		to = _to;
        owner = msg.sender;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "Only owner can call this function");
        _;
    }

    function isHealthy(address user) external view returns (bool) {
        (, , , , , uint256 hf) = POOL.getUserAccountData(user);
        return hf >  102 * 1e16; // "superior to 1.02"
    }

    /**
     * @notice Initiates the atomic migration.
     * @param debtAsset The underlying debt token address (e.g. HYPE).
     * @param aTokenAddress The aToken address corresponding to collateralAsset (e.g. kHYPE, aUSDC).
     */
    function migrate(
        address debtAsset,
        address aTokenAddress,
        uint256 debtRepayAmount
    ) external onlyOwner {
        // Prepare Flash Loan
        address[] memory assets = new address[](1);
        assets[0] = debtAsset;

        uint256[] memory amounts = new uint256[](1);
        amounts[0] = debtRepayAmount;

        uint256[] memory modes = new uint256[](1);
        modes[0] = 0; // No debt for flashloan itself, just repay immediately

        // Encode params for callback
        MigrationParams memory params = MigrationParams({
            debtAsset: debtAsset,
            aTokenAddress: aTokenAddress
        });
        bytes memory paramsData = abi.encode(params);

        POOL.flashLoan(
            address(this),
            assets,
            amounts,
            modes,
            address(this), // onBehalfOf
            paramsData,
            REFERRAL_CODE
        );

		// transfer any dust
        uint256 balanceAfter = IERC20(debtAsset).balanceOf(address(this));
        if (balanceAfter > 0) {
            IERC20(debtAsset).safeTransfer(to, balanceAfter);
        }

        require(this.isHealthy(from), "from is not healthy");
        require(this.isHealthy(to), "to is not healthy");
    }


    /**
     * @notice Flash Loan Callback
     */
    function executeOperation(
        address[] calldata, // assets,
        uint256[] calldata amounts,
        uint256[] calldata premiums,
        address initiator,
        bytes calldata params
    ) external override returns (bool) {
        require(msg.sender == address(POOL), "Caller must be pool");
        require(initiator == address(this), "Initiator must be this");

        MigrationParams memory decoded = abi.decode(params, (MigrationParams));

        uint256 flashLoanAmount = amounts[0];
        uint256 premium = premiums[0];

        IERC20(decoded.debtAsset).safeApprove(address(POOL), flashLoanAmount);

        uint256 repaid = POOL.repay(
            decoded.debtAsset,
            flashLoanAmount,
            INTEREST_RATE_MODE_VARIABLE,
            from
        );

		uint256 toBorrow = repaid + premium;

		// collateral necessary to reach 75% ltv and repay the flash loan
		uint256 amountCollat = (toBorrow*10000)/7578;

		// send collat
        IERC20(decoded.aTokenAddress).safeTransferFrom(
            from,
            address(this),
            amountCollat
        );
		IERC20(decoded.aTokenAddress).safeTransfer(to, amountCollat);

		//  borrow
        POOL.borrow(
            decoded.debtAsset,
			toBorrow,
            INTEREST_RATE_MODE_VARIABLE,
            REFERRAL_CODE,
			to // onBehalfOf
        );

        // We need to approve Pool to take repayment.
        uint256 balanceAfter = IERC20(decoded.debtAsset).balanceOf(
            address(this)
        );

        IERC20(decoded.debtAsset).safeApprove(address(POOL), balanceAfter);

        return true;
    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;


interface ICreditDelegationToken {
	function approveDelegation(address delegatee, uint256 amount) external;
}

interface IHyperLendPool {
	struct ReserveConfigurationMap {
		uint256 data;
	}

	struct ReserveData {
		ReserveConfigurationMap configuration;
		uint128 liquidityIndex;
		uint128 currentLiquidityRate;
		uint128 variableBorrowIndex;
		uint128 currentVariableBorrowRate;
		uint128 currentStableBorrowRate;
		uint40 lastUpdateTimestamp;
		uint16 id;
		address aTokenAddress;
		address stableDebtTokenAddress;
		address variableDebtTokenAddress;
		address interestRateStrategyAddress;
		uint128 accruedToTreasury;
		uint128 unbacked;
		uint128 isolationModeTotalDebt;
	}

	function supply(
		address asset,
		uint256 amount,
		address onBehalfOf,
		uint16 referralCode
	) external;

	function setUserEMode(uint8 categoryId) external;
	function getUserEMode(address user) external view returns (uint256);

	function withdraw(
		address asset,
		uint256 amount,
		address to
	) external returns (uint256);

	function borrow(
		address asset,
		uint256 amount,
		uint256 interestRateMode,
		uint16 referralCode,
		address onBehalfOf
	) external;

	function repay(
		address asset,
		uint256 amount,
		uint256 interestRateMode,
		address onBehalfOf
	) external returns (uint256);

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

	function getUserAccountData(address user)
	external view
	returns (
		uint256 ,
		uint256, 
		uint256,
		uint256,
		uint256 ,
		uint256 
	);

	function getReserveData(address asset) external view returns (ReserveData memory);

	function setUserUseReserveAsCollateral(address asset, bool useAsCollateral) external;
}

interface IFlashLoanReceiver {
	function executeOperation(
		address[] calldata assets,
		uint256[] calldata amounts,
		uint256[] calldata premiums,
		address initiator,
		bytes calldata params
	) external returns (bool);
}

interface IERC20 {
	function totalSupply() external view returns (uint256);
	function balanceOf(address account) external view returns (uint256);
	function transfer(address recipient, uint256 amount) external returns (bool);
	function allowance(address owner, address spender) external view returns (uint256);
	function approve(address spender, uint256 amount) external returns (bool);
	function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}

Settings
{
  "remappings": [
    "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
    "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
    "forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/",
    "halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "prague",
  "viaIR": true
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_pool","type":"address"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"POOL","outputs":[{"internalType":"contract IHyperLendPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"uint256[]","name":"premiums","type":"uint256[]"},{"internalType":"address","name":"initiator","type":"address"},{"internalType":"bytes","name":"params","type":"bytes"}],"name":"executeOperation","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isHealthy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"debtAsset","type":"address"},{"internalType":"address","name":"aTokenAddress","type":"address"},{"internalType":"uint256","name":"debtRepayAmount","type":"uint256"}],"name":"migrate","outputs":[],"stateMutability":"nonpayable","type":"function"}]

610100346100d557601f610e6e38819003918201601f19168301916001600160401b038311848410176100d9578084926060946040528339810103126100d557610048816100ed565b90610061604061005a602084016100ed565b92016100ed565b6001600160a01b0390921660805260c05260e0523360a052604051610d6c9081610102823960805181818161016701528181610552015281816106a90152610aa6015260a05181607b015260c05181818161028d015261076d015260e0518181816102e501528181610403015261081e0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100d55756fe6080806040526004361015610012575f80fd5b5f905f3560e01c9081637535d24614610a9457508063920f5c84146105dc578063d4d9bc681461050d5763f16565ee1461004a575f80fd5b3461050a57606036600319011261050a57610063610b06565b6024356001600160a01b0381169190829003610487577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036104bb576040918251906100b98483610b60565b6001825260208201601f19850191823683376100d484610b82565b6001600160a01b03909516948590528551926100f08785610b60565b600184528036602086013760443561010785610b82565b528651906101158883610b60565b600182523660208301378761012982610b82565b526020875161013781610b30565b8781520191825286516020810187815292516001600160a01b03168189015287815292610165606085610b60565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031694853b156104b757885163ab9c4b5d60e01b815230600482015260e06024820152965160e488018190528a97969594939261010488019291895b8181106104955750505086809589979561020983966101f78b97602097600319888303016044890152610b8f565b85810360031901606487015290610b8f565b913060848501526003198484030160a48501525180918184528584015e848482840101528460c4840152601f8019910116010301925af1801561048b57610472575b505081516370a0823160e01b8152306004820152602081602481855afa90811561046557849161042f575b50806103fd575b50508051631a9b378d60e31b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004820152602081602481305afa9081156103995783916103de575b50156103a5578051631a9b378d60e31b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004820152602081602481305afa90811561039957839161036a575b5015610333575080f35b5162461bcd60e51b8152602060048201526011602482015270746f206973206e6f74206865616c74687960781b6044820152606490fd5b61038c915060203d602011610392575b6103848183610b60565b810190610bc2565b5f610329565b503d61037a565b505051903d90823e3d90fd5b5162461bcd60e51b815260206004820152601360248201527266726f6d206973206e6f74206865616c74687960681b6044820152606490fd5b6103f7915060203d602011610392576103848183610b60565b5f6102d1565b610428917f000000000000000000000000000000000000000000000000000000000000000090610c88565b5f8061027d565b90506020813d60201161045d575b8161044a60209383610b60565b8101031261045957515f610276565b5f80fd5b3d915061043d565b50505051903d90823e3d90fd5b8161047c91610b60565b61048757825f61024b565b8280fd5b84513d84823e3d90fd5b82516001600160a01b031685528d9a50602094850194909201916001016101c9565b8980fd5b60405162461bcd60e51b815260206004820152602160248201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6044820152603760f91b6064820152608490fd5b80fd5b503461050a57602036600319011261050a57610527610b06565b604051632fe4a15f60e21b81526001600160a01b039182166004820152919060c090839060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156105d0578091610597575b602082670e27c49886e6000060405191118152f35b905060c0823d60c0116105c8575b816105b260c09383610b60565b8101031261050a575060a060209101515f610582565b3d91506105a5565b604051903d90823e3d90fd5b50346104595760a03660031901126104595760043567ffffffffffffffff81116104595761060e903690600401610ad5565b505060243567ffffffffffffffff811161045957610630903690600401610ad5565b60449291923567ffffffffffffffff811161045957610653903690600401610ad5565b93906064359260018060a01b038416809403610459576084359267ffffffffffffffff8411610459573660238501121561045957836004013567ffffffffffffffff8111610459578401366024820111610459577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169533879003610a59573003610a1b5760409085900312610459576107116044604051956106fd87610b30565b61070960248201610b1c565b875201610b1c565b916020850192835215610a0757359515610a0757825161073d90879086906001600160a01b0316610bda565b825160405163573ade8160e01b81526001600160a01b0391821660048201526024810197909752600260448801527f00000000000000000000000000000000000000000000000000000000000000001660648701819052916020876084815f895af1968715610950575f976109d3575b503586018096116109bf57612710860286810461271014871517156109bf576020611d9a5f920493606460018060a01b038551169160405194859384926323b872dd60e01b845260048401523060248401528860448401525af1908115610950575f916109a0575b501561095b57517f0000000000000000000000000000000000000000000000000000000000000000916108529183906001600160a01b0316610c88565b81516001600160a01b031694833b15610459576040519563a415bcad60e01b875260048701526024860152600260448601525f606486015260018060a01b031660848501525f8460a48183865af19384156109505760249461093b575b5080516040516370a0823160e01b81523060048201529460209186919082906001600160a01b03165afa9283156105d05792610905575b516108fa93506001600160a01b0316610bda565b602060405160018152f35b91506020833d602011610933575b8161092060209383610b60565b81010312610459576108fa9251916108e6565b3d9150610913565b6109489193505f90610b60565b5f915f6108af565b6040513d5f823e3d90fd5b60405162461bcd60e51b815260206004820152601e60248201527f5361666545524332303a207472616e7366657246726f6d206661696c656400006044820152606490fd5b6109b9915060203d602011610392576103848183610b60565b5f610815565b634e487b7160e01b5f52601160045260245ffd5b9096506020813d6020116109ff575b816109ef60209383610b60565b810103126104595751955f6107ad565b3d91506109e2565b634e487b7160e01b5f52603260045260245ffd5b60405162461bcd60e51b8152602060048201526016602482015275496e69746961746f72206d757374206265207468697360501b6044820152606490fd5b60405162461bcd60e51b815260206004820152601360248201527210d85b1b195c881b5d5cdd081899481c1bdbdb606a1b6044820152606490fd5b34610459575f366003190112610459577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156104595782359167ffffffffffffffff8311610459576020808501948460051b01011161045957565b600435906001600160a01b038216820361045957565b35906001600160a01b038216820361045957565b6040810190811067ffffffffffffffff821117610b4c57604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610b4c57604052565b805115610a075760200190565b90602080835192838152019201905f5b818110610bac5750505090565b8251845260209384019390920191600101610b9f565b90816020910312610459575180151581036104595790565b60405163095ea7b360e01b81526001600160a01b0392831660048201526024810193909352602091839160449183915f91165af1908115610950575f91610c69575b5015610c2457565b60405162461bcd60e51b815260206004820152601960248201527f5361666545524332303a20617070726f7665206661696c6564000000000000006044820152606490fd5b610c82915060203d602011610392576103848183610b60565b5f610c1c565b60405163a9059cbb60e01b81526001600160a01b0392831660048201526024810193909352602091839160449183915f91165af1908115610950575f91610d17575b5015610cd257565b60405162461bcd60e51b815260206004820152601a60248201527f5361666545524332303a207472616e73666572206661696c65640000000000006044820152606490fd5b610d30915060203d602011610392576103848183610b60565b5f610cca56fea2646970667358221220e15be099257a8d89db3500947c78d94491929b924ff235bbb8e4c614fe81c8b364736f6c634300081e003300000000000000000000000000a89d7a5a02160f20150ebea7a2b5e4879a1a8b000000000000000000000000a66b5862fd471a1b1eec8710071f3d085f79d5e400000000000000000000000022cd597a77064133ae286406ec7d9d241d905ada

Deployed Bytecode

0x6080806040526004361015610012575f80fd5b5f905f3560e01c9081637535d24614610a9457508063920f5c84146105dc578063d4d9bc681461050d5763f16565ee1461004a575f80fd5b3461050a57606036600319011261050a57610063610b06565b6024356001600160a01b0381169190829003610487577f0000000000000000000000000f2dc4f7d060e5cee687b3acabd85d5c94efb7566001600160a01b031633036104bb576040918251906100b98483610b60565b6001825260208201601f19850191823683376100d484610b82565b6001600160a01b03909516948590528551926100f08785610b60565b600184528036602086013760443561010785610b82565b528651906101158883610b60565b600182523660208301378761012982610b82565b526020875161013781610b30565b8781520191825286516020810187815292516001600160a01b03168189015287815292610165606085610b60565b7f00000000000000000000000000a89d7a5a02160f20150ebea7a2b5e4879a1a8b6001600160a01b031694853b156104b757885163ab9c4b5d60e01b815230600482015260e06024820152965160e488018190528a97969594939261010488019291895b8181106104955750505086809589979561020983966101f78b97602097600319888303016044890152610b8f565b85810360031901606487015290610b8f565b913060848501526003198484030160a48501525180918184528584015e848482840101528460c4840152601f8019910116010301925af1801561048b57610472575b505081516370a0823160e01b8152306004820152602081602481855afa90811561046557849161042f575b50806103fd575b50508051631a9b378d60e31b81527f000000000000000000000000a66b5862fd471a1b1eec8710071f3d085f79d5e46001600160a01b03166004820152602081602481305afa9081156103995783916103de575b50156103a5578051631a9b378d60e31b81527f00000000000000000000000022cd597a77064133ae286406ec7d9d241d905ada6001600160a01b03166004820152602081602481305afa90811561039957839161036a575b5015610333575080f35b5162461bcd60e51b8152602060048201526011602482015270746f206973206e6f74206865616c74687960781b6044820152606490fd5b61038c915060203d602011610392575b6103848183610b60565b810190610bc2565b5f610329565b503d61037a565b505051903d90823e3d90fd5b5162461bcd60e51b815260206004820152601360248201527266726f6d206973206e6f74206865616c74687960681b6044820152606490fd5b6103f7915060203d602011610392576103848183610b60565b5f6102d1565b610428917f00000000000000000000000022cd597a77064133ae286406ec7d9d241d905ada90610c88565b5f8061027d565b90506020813d60201161045d575b8161044a60209383610b60565b8101031261045957515f610276565b5f80fd5b3d915061043d565b50505051903d90823e3d90fd5b8161047c91610b60565b61048757825f61024b565b8280fd5b84513d84823e3d90fd5b82516001600160a01b031685528d9a50602094850194909201916001016101c9565b8980fd5b60405162461bcd60e51b815260206004820152602160248201527f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6044820152603760f91b6064820152608490fd5b80fd5b503461050a57602036600319011261050a57610527610b06565b604051632fe4a15f60e21b81526001600160a01b039182166004820152919060c090839060249082907f00000000000000000000000000a89d7a5a02160f20150ebea7a2b5e4879a1a8b165afa9081156105d0578091610597575b602082670e27c49886e6000060405191118152f35b905060c0823d60c0116105c8575b816105b260c09383610b60565b8101031261050a575060a060209101515f610582565b3d91506105a5565b604051903d90823e3d90fd5b50346104595760a03660031901126104595760043567ffffffffffffffff81116104595761060e903690600401610ad5565b505060243567ffffffffffffffff811161045957610630903690600401610ad5565b60449291923567ffffffffffffffff811161045957610653903690600401610ad5565b93906064359260018060a01b038416809403610459576084359267ffffffffffffffff8411610459573660238501121561045957836004013567ffffffffffffffff8111610459578401366024820111610459577f00000000000000000000000000a89d7a5a02160f20150ebea7a2b5e4879a1a8b6001600160a01b03169533879003610a59573003610a1b5760409085900312610459576107116044604051956106fd87610b30565b61070960248201610b1c565b875201610b1c565b916020850192835215610a0757359515610a0757825161073d90879086906001600160a01b0316610bda565b825160405163573ade8160e01b81526001600160a01b0391821660048201526024810197909752600260448801527f000000000000000000000000a66b5862fd471a1b1eec8710071f3d085f79d5e41660648701819052916020876084815f895af1968715610950575f976109d3575b503586018096116109bf57612710860286810461271014871517156109bf576020611d9a5f920493606460018060a01b038551169160405194859384926323b872dd60e01b845260048401523060248401528860448401525af1908115610950575f916109a0575b501561095b57517f00000000000000000000000022cd597a77064133ae286406ec7d9d241d905ada916108529183906001600160a01b0316610c88565b81516001600160a01b031694833b15610459576040519563a415bcad60e01b875260048701526024860152600260448601525f606486015260018060a01b031660848501525f8460a48183865af19384156109505760249461093b575b5080516040516370a0823160e01b81523060048201529460209186919082906001600160a01b03165afa9283156105d05792610905575b516108fa93506001600160a01b0316610bda565b602060405160018152f35b91506020833d602011610933575b8161092060209383610b60565b81010312610459576108fa9251916108e6565b3d9150610913565b6109489193505f90610b60565b5f915f6108af565b6040513d5f823e3d90fd5b60405162461bcd60e51b815260206004820152601e60248201527f5361666545524332303a207472616e7366657246726f6d206661696c656400006044820152606490fd5b6109b9915060203d602011610392576103848183610b60565b5f610815565b634e487b7160e01b5f52601160045260245ffd5b9096506020813d6020116109ff575b816109ef60209383610b60565b810103126104595751955f6107ad565b3d91506109e2565b634e487b7160e01b5f52603260045260245ffd5b60405162461bcd60e51b8152602060048201526016602482015275496e69746961746f72206d757374206265207468697360501b6044820152606490fd5b60405162461bcd60e51b815260206004820152601360248201527210d85b1b195c881b5d5cdd081899481c1bdbdb606a1b6044820152606490fd5b34610459575f366003190112610459577f00000000000000000000000000a89d7a5a02160f20150ebea7a2b5e4879a1a8b6001600160a01b03168152602090f35b9181601f840112156104595782359167ffffffffffffffff8311610459576020808501948460051b01011161045957565b600435906001600160a01b038216820361045957565b35906001600160a01b038216820361045957565b6040810190811067ffffffffffffffff821117610b4c57604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610b4c57604052565b805115610a075760200190565b90602080835192838152019201905f5b818110610bac5750505090565b8251845260209384019390920191600101610b9f565b90816020910312610459575180151581036104595790565b60405163095ea7b360e01b81526001600160a01b0392831660048201526024810193909352602091839160449183915f91165af1908115610950575f91610c69575b5015610c2457565b60405162461bcd60e51b815260206004820152601960248201527f5361666545524332303a20617070726f7665206661696c6564000000000000006044820152606490fd5b610c82915060203d602011610392576103848183610b60565b5f610c1c565b60405163a9059cbb60e01b81526001600160a01b0392831660048201526024810193909352602091839160449183915f91165af1908115610950575f91610d17575b5015610cd257565b60405162461bcd60e51b815260206004820152601a60248201527f5361666545524332303a207472616e73666572206661696c65640000000000006044820152606490fd5b610d30915060203d602011610392576103848183610b60565b5f610cca56fea2646970667358221220e15be099257a8d89db3500947c78d94491929b924ff235bbb8e4c614fe81c8b364736f6c634300081e0033

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

00000000000000000000000000a89d7a5a02160f20150ebea7a2b5e4879a1a8b000000000000000000000000a66b5862fd471a1b1eec8710071f3d085f79d5e400000000000000000000000022cd597a77064133ae286406ec7d9d241d905ada

-----Decoded View---------------
Arg [0] : _pool (address): 0x00A89d7a5A02160f20150EbEA7a2b5E4879A1A8b
Arg [1] : _from (address): 0xA66B5862FD471A1b1EeC8710071f3d085F79d5e4
Arg [2] : _to (address): 0x22Cd597a77064133Ae286406eC7D9d241D905ada

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000000a89d7a5a02160f20150ebea7a2b5e4879a1a8b
Arg [1] : 000000000000000000000000a66b5862fd471a1b1eec8710071f3d085f79d5e4
Arg [2] : 00000000000000000000000022cd597a77064133ae286406ec7d9d241d905ada


Block Transaction 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.