ETH Price: $3,781.99 (+5.62%)

Contract

0x0Ad96B511f501C1bdAb362C5c044EA8279846713
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LQTYWBTCArb

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 500 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2022-11-15
*/

// based on https://etherscan.io/address/0xf9a0e641c98f964b1c732661fab9d5b96af28d49#code
pragma solidity ^0.8.14;

interface IUniswapReserve {
    function swap(
        address recipient,
        bool zeroForOne,
        int256 amountSpecified,
        uint160 sqrtPriceLimitX96,
        bytes calldata data
    ) external returns (int256 amount0, int256 amount1);
}

//import "forge-std/console.sol"; // TODO

interface ICurvePool {
    function get_dy(uint i, uint j, uint dx) external view returns(uint);
    function get_dy_underlying(int128 i, int128 j, uint dx) external view returns(uint);
    function exchange(uint i, uint j, uint dx, uint minDy, bool useEth) external payable;
    function exchange_underlying(int128 i, int128 j, uint dx, uint minDy) external returns(uint);
}

interface IGemSeller {
    function getSwapGemAmount(uint lusdQty) external view returns(uint gemAmount, uint feeLusdAmount);
    function swap(uint lusdAmount, uint minGemReturn, address payable dest) external returns(uint);
    function fetchGem2EthPrice() external view returns(uint);
    function fetchEthPrice() external view returns(uint);
    function gemToUSD(uint gemQty, uint gem2EthPrice, uint eth2UsdPrice) external pure returns(uint);
    function USDToGem(uint lusdQty, uint gem2EthPrice, uint eth2UsdPrice) external pure returns(uint);
    function getReturn(uint xQty, uint xBalance, uint yBalance, uint A) external pure returns(uint);
    function compensateForLusdDeviation(uint gemAmount) external view returns(uint newGemAmount);
}

interface ERC20Like {
    function approve(address spender, uint value) external returns(bool);
    function transfer(address to, uint value) external returns(bool);
    function balanceOf(address a) external view returns(uint);
}

interface IUSDT {
    function approve(address spender, uint amount) external;
}

contract LQTYWBTCArb {
    address constant LQTY = 0x6DEA81C8171D0bA574754EF6F8b412F2Ed88c54D;
    address constant WBTC = 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599;
    address constant USDT = 0xdAC17F958D2ee523a2206206994597C13D831ec7;
    address constant LUSD = 0x5f98805A4E8be255a32880FDeC7F6728C6568bA0;

    IGemSeller immutable gemSeller;

    IUniswapReserve constant WBTCLQTY = IUniswapReserve(0xeFd784093dDD12e24231Fa6B792c09d03A4F7B7E);
    uint160 constant MAX_SQRT_RATIO = 1461446703485210103287273052203988822378723970342;
    uint160 constant MIN_SQRT_RATIO = 4295128739;

    ICurvePool constant threeCrypto = ICurvePool(0xD51a44d3FaE010294C616388b506AcdA1bfAAE46);
    ICurvePool constant lusdCrv = ICurvePool(0xEd279fDD11cA84bEef15AF5D39BB4d4bEE23F0cA);

    constructor(address _gemSellerAddress) {
        gemSeller = IGemSeller(_gemSellerAddress);
        ERC20Like(WBTC).approve(address(threeCrypto), type(uint256).max);
        IUSDT(USDT).approve(address(lusdCrv), type(uint256).max);
        ERC20Like(LUSD).approve(address(gemSeller), type(uint256).max);
    }

    function getSwapAmount(uint wbtcAmount) public view returns(uint lqtyAmount) {
        // wbtc => usdt => lusd => lqty
        uint usdtAmount = threeCrypto.get_dy(1, 0, wbtcAmount);
        uint lusdAmount = lusdCrv.get_dy_underlying(3, 0, usdtAmount);
        (lqtyAmount,) = gemSeller.getSwapGemAmount(lusdAmount);
    }

    function swap(uint lqtyQty, address lqtyDest, uint minLqtyProfit) external payable returns(uint) {
        WBTCLQTY.swap(address(this), false, int256(lqtyQty), MAX_SQRT_RATIO - 1, new bytes(0));

        uint retVal = ERC20Like(LQTY).balanceOf(address(this));
        require(retVal >= minLqtyProfit, "insufficient arb profit");
        ERC20Like(LQTY).transfer(lqtyDest, retVal);

        return retVal;
     }

    function _uniswapWBTCLQTYCallback(
        int256 /* amount0Delta */,
        int256 amount1Delta,
        bytes calldata /* data */
    ) internal {
        // swap WBTC to LQTY
        //uint wbtcAmount = uint(-1 * amount1Delta);
        uint totalWbtcBal = ERC20Like(WBTC).balanceOf(address(this));

        // wbtc => usdt => lusd => lqty
        threeCrypto.exchange(1, 0, totalWbtcBal, 1, false);
        uint usdtBalance = ERC20Like(USDT).balanceOf(address(this));
        uint lusdBalance = lusdCrv.exchange_underlying(3, 0, usdtBalance, 1);

        require(gemSeller.swap(lusdBalance, 1, payable(this)) > 0, "Nothing swapped in GemSeller");

        if(amount1Delta > 0) {
            ERC20Like(LQTY).transfer(msg.sender, uint(amount1Delta));
        }
    }

    function uniswapV3SwapCallback(
        int256 amount0Delta,
        int256 amount1Delta,
        bytes calldata data
    ) external {
        if (msg.sender == address(WBTCLQTY)) {
            _uniswapWBTCLQTYCallback(amount0Delta, amount1Delta, data);
        } else {
            revert("uniswapV3SwapCallback: invalid sender");
        }
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_gemSellerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"wbtcAmount","type":"uint256"}],"name":"getSwapAmount","outputs":[{"internalType":"uint256","name":"lqtyAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"lqtyQty","type":"uint256"},{"internalType":"address","name":"lqtyDest","type":"address"},{"internalType":"uint256","name":"minLqtyProfit","type":"uint256"}],"name":"swap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"int256","name":"amount0Delta","type":"int256"},{"internalType":"int256","name":"amount1Delta","type":"int256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"uniswapV3SwapCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a060405234801561001057600080fd5b50604051610cf7380380610cf783398101604081905261002f916101df565b6001600160a01b03811660805260405163095ea7b360e01b815273d51a44d3fae010294c616388b506acda1bfaae4660048201526000196024820152732260fac5e5542a773aa44fbcfedf7c193bc2c5999063095ea7b3906044016020604051808303816000875af11580156100a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100cd919061020f565b5060405163095ea7b360e01b815273ed279fdd11ca84beef15af5d39bb4d4bee23f0ca6004820152600019602482015273dac17f958d2ee523a2206206994597c13d831ec79063095ea7b390604401600060405180830381600087803b15801561013657600080fd5b505af115801561014a573d6000803e3d6000fd5b505060805160405163095ea7b360e01b81526001600160a01b0390911660048201526000196024820152735f98805a4e8be255a32880fdec7f6728c6568ba0925063095ea7b391506044016020604051808303816000875af11580156101b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d8919061020f565b5050610231565b6000602082840312156101f157600080fd5b81516001600160a01b038116811461020857600080fd5b9392505050565b60006020828403121561022157600080fd5b8151801515811461020857600080fd5b608051610aa4610253600039600081816101d201526107290152610aa46000f3fe6080604052600436106100385760003560e01c80633c997e25146100445780634326434914610076578063fa461e331461008957600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b5061006461005f366004610873565b6100ab565b60405190815260200160405180910390f35b61006461008436600461088c565b61024d565b34801561009557600080fd5b506100a96100a43660046108d0565b61046c565b005b60405163556d6e9f60e01b8152600160048201526000602482018190526044820183905290819073d51a44d3fae010294c616388b506acda1bfaae469063556d6e9f90606401602060405180830381865afa15801561010e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101329190610950565b6040516307211ef760e01b8152600360048201526000602482018190526044820183905291925073ed279fdd11ca84beef15af5d39bb4d4bee23f0ca906307211ef790606401602060405180830381865afa158015610195573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b99190610950565b604051633e24fb6560e11b8152600481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637c49f6ca906024016040805180830381865afa158015610220573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102449190610969565b50949350505050565b600073efd784093ddd12e24231fa6b792c09d03a4f7b7e63128acb0830838761028b600173fffd8963efd1fc6a506488495d951d5263988d2661098d565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e088901b169091526102d69493929190602481016109c3565b60408051808303816000875af11580156102f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103189190610969565b50506040516370a0823160e01b8152306004820152600090736dea81c8171d0ba574754ef6f8b412f2ed88c54d906370a0823190602401602060405180830381865afa15801561036c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103909190610950565b9050828110156103e75760405162461bcd60e51b815260206004820152601760248201527f696e73756666696369656e74206172622070726f66697400000000000000000060448201526064015b60405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038516600482015260248101829052736dea81c8171d0ba574754ef6f8b412f2ed88c54d9063a9059cbb906044016020604051808303816000875af1158015610448573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102449190610a45565b73efd784093ddd12e24231fa6b792c09d03a4f7b7d19330161049957610494848484846104f5565b6104ef565b60405162461bcd60e51b815260206004820152602560248201527f756e697377617056335377617043616c6c6261636b3a20696e76616c6964207360448201526432b73232b960d91b60648201526084016103de565b50505050565b6040516370a0823160e01b8152306004820152600090732260fac5e5542a773aa44fbcfedf7c193bc2c599906370a0823190602401602060405180830381865afa158015610547573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056b9190610950565b60405163394747c560e01b8152600160048201819052600060248301819052604483018490526064830191909152608482015290915073d51a44d3fae010294c616388b506acda1bfaae469063394747c59060a401600060405180830381600087803b1580156105da57600080fd5b505af11580156105ee573d6000803e3d6000fd5b50506040516370a0823160e01b81523060048201526000925073dac17f958d2ee523a2206206994597c13d831ec791506370a0823190602401602060405180830381865afa158015610644573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106689190610950565b604051635320bf6b60e11b815260036004820152600060248201819052604482018390526001606483015291925073ed279fdd11ca84beef15af5d39bb4d4bee23f0ca9063a6417ed6906084016020604051808303816000875af11580156106d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f89190610950565b6040516336cd320560e11b815260048101829052600160248201523060448201529091506000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d9a640a906064016020604051808303816000875af1158015610772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107969190610950565b116107e35760405162461bcd60e51b815260206004820152601c60248201527f4e6f7468696e67207377617070656420696e2047656d53656c6c65720000000060448201526064016103de565b600086131561086a5760405163a9059cbb60e01b815233600482015260248101879052736dea81c8171d0ba574754ef6f8b412f2ed88c54d9063a9059cbb906044016020604051808303816000875af1158015610844573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108689190610a45565b505b50505050505050565b60006020828403121561088557600080fd5b5035919050565b6000806000606084860312156108a157600080fd5b8335925060208401356001600160a01b03811681146108bf57600080fd5b929592945050506040919091013590565b600080600080606085870312156108e657600080fd5b8435935060208501359250604085013567ffffffffffffffff8082111561090c57600080fd5b818701915087601f83011261092057600080fd5b81358181111561092f57600080fd5b88602082850101111561094157600080fd5b95989497505060200194505050565b60006020828403121561096257600080fd5b5051919050565b6000806040838503121561097c57600080fd5b505080516020909101519092909150565b60006001600160a01b03838116908316818110156109bb57634e487b7160e01b600052601160045260246000fd5b039392505050565b60006001600160a01b038088168352602087151581850152866040850152818616606085015260a06080850152845191508160a085015260005b82811015610a195785810182015185820160c0015281016109fd565b82811115610a2b57600060c084870101525b5050601f01601f19169190910160c0019695505050505050565b600060208284031215610a5757600080fd5b81518015158114610a6757600080fd5b939250505056fea264697066735822122040b06cb53784b94cf6778137fc29770ab06b4a5d10cda8a1ab1250b8672e3ce864736f6c634300080e00330000000000000000000000007605aaa45344f91315e0c596ab679159784f8b7b

Deployed Bytecode

0x6080604052600436106100385760003560e01c80633c997e25146100445780634326434914610076578063fa461e331461008957600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b5061006461005f366004610873565b6100ab565b60405190815260200160405180910390f35b61006461008436600461088c565b61024d565b34801561009557600080fd5b506100a96100a43660046108d0565b61046c565b005b60405163556d6e9f60e01b8152600160048201526000602482018190526044820183905290819073d51a44d3fae010294c616388b506acda1bfaae469063556d6e9f90606401602060405180830381865afa15801561010e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101329190610950565b6040516307211ef760e01b8152600360048201526000602482018190526044820183905291925073ed279fdd11ca84beef15af5d39bb4d4bee23f0ca906307211ef790606401602060405180830381865afa158015610195573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b99190610950565b604051633e24fb6560e11b8152600481018290529091507f0000000000000000000000007605aaa45344f91315e0c596ab679159784f8b7b6001600160a01b031690637c49f6ca906024016040805180830381865afa158015610220573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102449190610969565b50949350505050565b600073efd784093ddd12e24231fa6b792c09d03a4f7b7e63128acb0830838761028b600173fffd8963efd1fc6a506488495d951d5263988d2661098d565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e088901b169091526102d69493929190602481016109c3565b60408051808303816000875af11580156102f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103189190610969565b50506040516370a0823160e01b8152306004820152600090736dea81c8171d0ba574754ef6f8b412f2ed88c54d906370a0823190602401602060405180830381865afa15801561036c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103909190610950565b9050828110156103e75760405162461bcd60e51b815260206004820152601760248201527f696e73756666696369656e74206172622070726f66697400000000000000000060448201526064015b60405180910390fd5b60405163a9059cbb60e01b81526001600160a01b038516600482015260248101829052736dea81c8171d0ba574754ef6f8b412f2ed88c54d9063a9059cbb906044016020604051808303816000875af1158015610448573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102449190610a45565b73efd784093ddd12e24231fa6b792c09d03a4f7b7d19330161049957610494848484846104f5565b6104ef565b60405162461bcd60e51b815260206004820152602560248201527f756e697377617056335377617043616c6c6261636b3a20696e76616c6964207360448201526432b73232b960d91b60648201526084016103de565b50505050565b6040516370a0823160e01b8152306004820152600090732260fac5e5542a773aa44fbcfedf7c193bc2c599906370a0823190602401602060405180830381865afa158015610547573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056b9190610950565b60405163394747c560e01b8152600160048201819052600060248301819052604483018490526064830191909152608482015290915073d51a44d3fae010294c616388b506acda1bfaae469063394747c59060a401600060405180830381600087803b1580156105da57600080fd5b505af11580156105ee573d6000803e3d6000fd5b50506040516370a0823160e01b81523060048201526000925073dac17f958d2ee523a2206206994597c13d831ec791506370a0823190602401602060405180830381865afa158015610644573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106689190610950565b604051635320bf6b60e11b815260036004820152600060248201819052604482018390526001606483015291925073ed279fdd11ca84beef15af5d39bb4d4bee23f0ca9063a6417ed6906084016020604051808303816000875af11580156106d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f89190610950565b6040516336cd320560e11b815260048101829052600160248201523060448201529091506000906001600160a01b037f0000000000000000000000007605aaa45344f91315e0c596ab679159784f8b7b1690636d9a640a906064016020604051808303816000875af1158015610772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107969190610950565b116107e35760405162461bcd60e51b815260206004820152601c60248201527f4e6f7468696e67207377617070656420696e2047656d53656c6c65720000000060448201526064016103de565b600086131561086a5760405163a9059cbb60e01b815233600482015260248101879052736dea81c8171d0ba574754ef6f8b412f2ed88c54d9063a9059cbb906044016020604051808303816000875af1158015610844573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108689190610a45565b505b50505050505050565b60006020828403121561088557600080fd5b5035919050565b6000806000606084860312156108a157600080fd5b8335925060208401356001600160a01b03811681146108bf57600080fd5b929592945050506040919091013590565b600080600080606085870312156108e657600080fd5b8435935060208501359250604085013567ffffffffffffffff8082111561090c57600080fd5b818701915087601f83011261092057600080fd5b81358181111561092f57600080fd5b88602082850101111561094157600080fd5b95989497505060200194505050565b60006020828403121561096257600080fd5b5051919050565b6000806040838503121561097c57600080fd5b505080516020909101519092909150565b60006001600160a01b03838116908316818110156109bb57634e487b7160e01b600052601160045260246000fd5b039392505050565b60006001600160a01b038088168352602087151581850152866040850152818616606085015260a06080850152845191508160a085015260005b82811015610a195785810182015185820160c0015281016109fd565b82811115610a2b57600060c084870101525b5050601f01601f19169190910160c0019695505050505050565b600060208284031215610a5757600080fd5b81518015158114610a6757600080fd5b939250505056fea264697066735822122040b06cb53784b94cf6778137fc29770ab06b4a5d10cda8a1ab1250b8672e3ce864736f6c634300080e0033

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

0000000000000000000000007605aaa45344f91315e0c596ab679159784f8b7b

-----Decoded View---------------
Arg [0] : _gemSellerAddress (address): 0x7605aaA45344F91315E0C596Ab679159784F8b7b

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007605aaa45344f91315e0c596ab679159784f8b7b


Deployed Bytecode Sourcemap

1899:3071:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3015:328;;;;;;;;;;-1:-1:-1;3015:328:0;;;;;:::i;:::-;;:::i;:::-;;;345:25:1;;;333:2;318:18;3015:328:0;;;;;;;3351:419;;;;;;:::i;:::-;;:::i;4573:357::-;;;;;;;;;;-1:-1:-1;4573:357:0;;;;;:::i;:::-;;:::i;:::-;;3015:328;3162:36;;-1:-1:-1;;;3162:36:0;;3181:1;3162:36;;;1779:25:1;3075:15:0;1820:18:1;;;1813:34;;;1863:18;;;1856:34;;;3075:15:0;;;2550:42;;3162:18;;1752::1;;3162:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3227:43;;-1:-1:-1;;;3227:43:0;;3253:1;3227:43;;;2306:41:1;3209:15:0;2363:18:1;;;2356:50;;;2422:18;;;2415:34;;;3144:54:0;;-1:-1:-1;2641:42:0;;3227:25;;2279:18:1;;3227:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3297:38;;-1:-1:-1;;;3297:38:0;;;;;345:25:1;;;3209:61:0;;-1:-1:-1;3297:9:0;-1:-1:-1;;;;;3297:26:0;;;;318:18:1;;3297:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3281:54:0;3015:328;-1:-1:-1;;;;3015:328:0:o;3351:419::-;3442:4;2312:42;3459:13;3481:4;3442;3502:7;3512:18;3529:1;2396:49;3512:18;:::i;:::-;3532:12;;;3542:1;3532:12;;;;;;;;;3459:86;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;3572:40:0;;-1:-1:-1;;;3572:40:0;;3606:4;3572:40;;;4569:74:1;3558:11:0;;1951:42;;3572:25;;4542:18:1;;3572:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3558:54;;3641:13;3631:6;:23;;3623:59;;;;-1:-1:-1;;;3623:59:0;;4856:2:1;3623:59:0;;;4838:21:1;4895:2;4875:18;;;4868:30;4934:25;4914:18;;;4907:53;4977:18;;3623:59:0;;;;;;;;;3693:42;;-1:-1:-1;;;3693:42:0;;-1:-1:-1;;;;;5198:55:1;;3693:42:0;;;5180:74:1;5270:18;;;5263:34;;;1951:42:0;;3693:24;;5153:18:1;;3693:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4573:357::-;-1:-1:-1;;4725:10:0;:31;4721:202;;4773:58;4798:12;4812;4826:4;;4773:24;:58::i;:::-;4721:202;;;4864:47;;-1:-1:-1;;;4864:47:0;;5792:2:1;4864:47:0;;;5774:21:1;5831:2;5811:18;;;5804:30;5870:34;5850:18;;;5843:62;-1:-1:-1;;;5921:18:1;;;5914:35;5966:19;;4864:47:0;5590:401:1;4721:202:0;4573:357;;;;:::o;3778:787::-;4045:40;;-1:-1:-1;;;4045:40:0;;4079:4;4045:40;;;4569:74:1;4025:17:0;;2024:42;;4045:25;;4542:18:1;;4045:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4139:50;;-1:-1:-1;;;4139:50:0;;4160:1;4139:50;;;6273:25:1;;;4163:1:0;6314:18:1;;;6307:34;;;6357:18;;;6350:34;;;6400:18;;;6393:34;;;;6443:19;;;6436:51;4025:60:0;;-1:-1:-1;2550:42:0;;4139:20;;6245:19:1;;4139:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4219:40:0;;-1:-1:-1;;;4219:40:0;;4253:4;4219:40;;;4569:74:1;4200:16:0;;-1:-1:-1;2097:42:0;;-1:-1:-1;4219:25:0;;4542:18:1;;4219:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4289:49;;-1:-1:-1;;;4289:49:0;;4317:1;4289:49;;;6751:41:1;4270:16:0;6808:18:1;;;6801:50;;;6867:18;;;6860:34;;;4336:1:0;6910:18:1;;;6903:34;4200:59:0;;-1:-1:-1;2641:42:0;;4289:27;;6723:19:1;;4289:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4359:45;;-1:-1:-1;;;4359:45:0;;;;;7174:25:1;;;4387:1:0;7215:18:1;;;7208:34;4398:4:0;7258:18:1;;;7251:83;4270:68:0;;-1:-1:-1;4407:1:0;;-1:-1:-1;;;;;4359:9:0;:14;;;;7147:18:1;;4359:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:49;4351:90;;;;-1:-1:-1;;;4351:90:0;;7547:2:1;4351:90:0;;;7529:21:1;7586:2;7566:18;;;7559:30;7625;7605:18;;;7598:58;7673:18;;4351:90:0;7345:352:1;4351:90:0;4472:1;4457:12;:16;4454:104;;;4490:56;;-1:-1:-1;;;4490:56:0;;4515:10;4490:56;;;5180:74:1;5270:18;;;5263:34;;;1951:42:0;;4490:24;;5153:18:1;;4490:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4454:104;3930:635;;;3778:787;;;;:::o;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;381:445::-;458:6;466;474;527:2;515:9;506:7;502:23;498:32;495:52;;;543:1;540;533:12;495:52;579:9;566:23;556:33;;639:2;628:9;624:18;611:32;-1:-1:-1;;;;;676:5:1;672:54;665:5;662:65;652:93;;741:1;738;731:12;652:93;381:445;;764:5;;-1:-1:-1;;;816:2:1;801:18;;;;788:32;;381:445::o;831:725::-;917:6;925;933;941;994:2;982:9;973:7;969:23;965:32;962:52;;;1010:1;1007;1000:12;962:52;1046:9;1033:23;1023:33;;1103:2;1092:9;1088:18;1075:32;1065:42;;1158:2;1147:9;1143:18;1130:32;1181:18;1222:2;1214:6;1211:14;1208:34;;;1238:1;1235;1228:12;1208:34;1276:6;1265:9;1261:22;1251:32;;1321:7;1314:4;1310:2;1306:13;1302:27;1292:55;;1343:1;1340;1333:12;1292:55;1383:2;1370:16;1409:2;1401:6;1398:14;1395:34;;;1425:1;1422;1415:12;1395:34;1470:7;1465:2;1456:6;1452:2;1448:15;1444:24;1441:37;1438:57;;;1491:1;1488;1481:12;1438:57;831:725;;;;-1:-1:-1;;1522:2:1;1514:11;;-1:-1:-1;;;831:725:1:o;1901:184::-;1971:6;2024:2;2012:9;2003:7;1999:23;1995:32;1992:52;;;2040:1;2037;2030:12;1992:52;-1:-1:-1;2063:16:1;;1901:184;-1:-1:-1;1901:184:1:o;2460:245::-;2539:6;2547;2600:2;2588:9;2579:7;2575:23;2571:32;2568:52;;;2616:1;2613;2606:12;2568:52;-1:-1:-1;;2639:16:1;;2695:2;2680:18;;;2674:25;2639:16;;2674:25;;-1:-1:-1;2460:245:1:o;2710:351::-;2750:4;-1:-1:-1;;;;;2871:10:1;;;;2841;;2893:12;;;2890:135;;;2947:10;2942:3;2938:20;2935:1;2928:31;2982:4;2979:1;2972:15;3010:4;3007:1;3000:15;2890:135;3042:13;;2710:351;-1:-1:-1;;;2710:351:1:o;3198:972::-;3412:4;-1:-1:-1;;;;;3522:2:1;3514:6;3510:15;3499:9;3492:34;3545:2;3597:6;3590:14;3583:22;3578:2;3567:9;3563:18;3556:50;3642:6;3637:2;3626:9;3622:18;3615:34;3697:2;3689:6;3685:15;3680:2;3669:9;3665:18;3658:43;3738:3;3732;3721:9;3717:19;3710:32;3771:6;3765:13;3751:27;;3815:6;3809:3;3798:9;3794:19;3787:35;3840:1;3850:141;3864:6;3861:1;3858:13;3850:141;;;3960:14;;;3956:23;;3950:30;3925:17;;;3944:3;3921:27;3914:67;3879:10;;3850:141;;;4009:6;4006:1;4003:13;4000:92;;;4080:1;4074:3;4065:6;4054:9;4050:22;4046:32;4039:43;4000:92;-1:-1:-1;;4153:2:1;4132:15;-1:-1:-1;;4128:29:1;4113:45;;;;4160:3;4109:55;;3198:972;-1:-1:-1;;;;;;3198:972:1:o;5308:277::-;5375:6;5428:2;5416:9;5407:7;5403:23;5399:32;5396:52;;;5444:1;5441;5434:12;5396:52;5476:9;5470:16;5529:5;5522:13;5515:21;5508:5;5505:32;5495:60;;5551:1;5548;5541:12;5495:60;5574:5;5308:277;-1:-1:-1;;;5308:277:1:o

Swarm Source

ipfs://40b06cb53784b94cf6778137fc29770ab06b4a5d10cda8a1ab1250b8672e3ce8

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

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.