ETH Price: $1,975.69 (+0.68%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

ContractCreator

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute245107842026-02-22 7:01:4720 secs ago1771743707IN
0x00000000...59D070d8c
0 ETH0.000001430.03261514
Execute245107842026-02-22 7:01:4720 secs ago1771743707IN
0x00000000...59D070d8c
0 ETH0.000001640.03730798
Execute245107722026-02-22 6:59:232 mins ago1771743563IN
0x00000000...59D070d8c
0 ETH0.000001650.03750513
Execute245107692026-02-22 6:58:473 mins ago1771743527IN
0x00000000...59D070d8c
0 ETH0.000001710.0389611
Execute245107542026-02-22 6:55:476 mins ago1771743347IN
0x00000000...59D070d8c
0 ETH0.000001470.03347344
Execute245107542026-02-22 6:55:476 mins ago1771743347IN
0x00000000...59D070d8c
0 ETH0.000001470.03350731
Execute245107402026-02-22 6:52:599 mins ago1771743179IN
0x00000000...59D070d8c
0 ETH0.000001640.03740708
Execute245107392026-02-22 6:52:479 mins ago1771743167IN
0x00000000...59D070d8c
0 ETH0.000001510.03439072
Execute245107242026-02-22 6:49:4712 mins ago1771742987IN
0x00000000...59D070d8c
0 ETH0.000001480.03378674
Execute245107242026-02-22 6:49:4712 mins ago1771742987IN
0x00000000...59D070d8c
0 ETH0.000001480.03378674
Execute245107102026-02-22 6:46:5915 mins ago1771742819IN
0x00000000...59D070d8c
0 ETH0.000001740.03970266
Execute245107102026-02-22 6:46:5915 mins ago1771742819IN
0x00000000...59D070d8c
0 ETH0.000001740.03970266
Execute245106952026-02-22 6:43:5918 mins ago1771742639IN
0x00000000...59D070d8c
0 ETH0.00000160.03633683
Execute245106942026-02-22 6:43:4718 mins ago1771742627IN
0x00000000...59D070d8c
0 ETH0.00000170.03863906
Execute245106792026-02-22 6:40:4721 mins ago1771742447IN
0x00000000...59D070d8c
0 ETH0.000001510.03451252
Execute245106792026-02-22 6:40:4721 mins ago1771742447IN
0x00000000...59D070d8c
0 ETH0.000001550.03528242
Execute245106642026-02-22 6:37:4724 mins ago1771742267IN
0x00000000...59D070d8c
0 ETH0.000001540.03496766
Execute245106642026-02-22 6:37:4724 mins ago1771742267IN
0x00000000...59D070d8c
0 ETH0.000001540.03496766
Execute245106502026-02-22 6:34:5927 mins ago1771742099IN
0x00000000...59D070d8c
0 ETH0.00000150.03425295
Execute245106492026-02-22 6:34:4727 mins ago1771742087IN
0x00000000...59D070d8c
0 ETH0.000001620.03691092
Execute245106342026-02-22 6:31:4730 mins ago1771741907IN
0x00000000...59D070d8c
0 ETH0.000001640.03735966
Execute245106342026-02-22 6:31:4730 mins ago1771741907IN
0x00000000...59D070d8c
0 ETH0.000001640.03735966
Execute245106192026-02-22 6:28:4733 mins ago1771741727IN
0x00000000...59D070d8c
0 ETH0.00000160.03637709
Execute245106192026-02-22 6:28:4733 mins ago1771741727IN
0x00000000...59D070d8c
0 ETH0.000001660.03769532
Execute245106042026-02-22 6:25:4736 mins ago1771741547IN
0x00000000...59D070d8c
0 ETH0.000001620.03679578
VIEW ADVANCED FILTER
Age:90D
Reset Filter

Advanced mode:
Parent Transaction Hash Method Block
From
To

There are no matching entries

Update your filters to view other transactions

View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x00984aC3...100bC0000
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
TKGasStation

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
prague EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

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

import {ITKGasDelegate} from "./interfaces/ITKGasDelegate.sol";
import {ITKGasStation} from "./interfaces/ITKGasStation.sol";
import {IBatchExecution} from "./interfaces/IBatchExecution.sol";

contract TKGasStation is ITKGasStation {
    error NotDelegated();
    error InvalidFunctionSelector();
    error ExecutionFailed();

    address public immutable TK_GAS_DELEGATE;

    constructor(address _tkGasDelegate) {
        TK_GAS_DELEGATE = _tkGasDelegate;
    }

    fallback(bytes calldata data) external returns (bytes memory) {
        address target;
        assembly {
            target := shr(96, calldataload(add(data.offset, 1)))
        }
        if (!_isDelegated(target)) {
            revert NotDelegated();
        }

        if (bytes1(data[21]) == 0x00) {
            // check if the first byte is 0x00
            bytes1 functionSelector = bytes1(data[22] & 0xf0); // mask the last nibble

            // only allow execute functions, no session functions
            if (functionSelector == 0x00 || functionSelector == 0x10 || functionSelector == 0x20) {
                (bool success, bytes memory result) = target.call(data[21:]);
                if (success) {
                    return result;
                }
                revert ExecutionFailed();
            }
        }

        revert InvalidFunctionSelector();
    }

    function _isDelegated(address _targetEoA) internal view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(_targetEoA)
        }
        if (size != 23) {
            return false;
        }

        bytes memory code = new bytes(23);
        assembly {
            extcodecopy(_targetEoA, add(code, 0x20), 0, 23)
        }
        // prefix is 0xef0100
        if (code[0] != 0xef || code[1] != 0x01 || code[2] != 0x00) {
            return false;
        }

        address delegatedTo;

        assembly {
            // Load the 20-byte address from bytes 3-22
            delegatedTo := shr(96, mload(add(code, 0x23)))
        }

        return delegatedTo == TK_GAS_DELEGATE;
    }

    // Execute functions
    function executeReturns(address _target, address _to, uint256 _ethAmount, bytes calldata _data)
        external
        returns (bytes memory)
    {
        if (!_isDelegated(_target)) {
            revert NotDelegated();
        }
        bytes memory result = ITKGasDelegate(_target).executeReturns(_to, _ethAmount, _data);
        return result;
    }

    function execute(address _target, address _to, uint256 _ethAmount, bytes calldata _data) external {
        if (!_isDelegated(_target)) {
            revert NotDelegated();
        }
        ITKGasDelegate(_target).execute(_to, _ethAmount, _data);
    }

    // ApproveThenExecute functions
    function approveThenExecuteReturns(
        address _target,
        address _to,
        uint256 _ethAmount,
        address _erc20,
        address _spender,
        uint256 _approveAmount,
        bytes calldata _data
    ) external returns (bytes memory) {
        if (!_isDelegated(_target)) {
            revert NotDelegated();
        }
        bytes memory result =
            ITKGasDelegate(_target).approveThenExecuteReturns(_to, _ethAmount, _erc20, _spender, _approveAmount, _data);
        return result;
    }

    function approveThenExecute(
        address _target,
        address _to,
        uint256 _ethAmount,
        address _erc20,
        address _spender,
        uint256 _approveAmount,
        bytes calldata _data
    ) external {
        if (!_isDelegated(_target)) {
            revert NotDelegated();
        }
        ITKGasDelegate(_target).approveThenExecute(_to, _ethAmount, _erc20, _spender, _approveAmount, _data);
    }

    // Batch execute functions
    function executeBatchReturns(address _target, IBatchExecution.Call[] calldata _calls, bytes calldata _data)
        external
        returns (bytes[] memory)
    {
        if (!_isDelegated(_target)) {
            revert NotDelegated();
        }
        bytes[] memory results = ITKGasDelegate(_target).executeBatchReturns(_calls, _data);
        return results;
    }

    function executeBatch(address _target, IBatchExecution.Call[] calldata _calls, bytes calldata _data) external {
        if (!_isDelegated(_target)) {
            revert NotDelegated();
        }
        ITKGasDelegate(_target).executeBatch(_calls, _data);
    }

    function burnNonce(address _targetEoA, bytes calldata _signature, uint128 _nonce) external {
        if (!_isDelegated(_targetEoA)) {
            revert NotDelegated();
        }
        ITKGasDelegate(_targetEoA).burnNonce(_signature, _nonce);
    }

    /* Lense Functions */

    function getNonce(address _targetEoA) external view returns (uint128) {
        if (!_isDelegated(_targetEoA)) {
            revert NotDelegated();
        }
        uint128 nonce = ITKGasDelegate(_targetEoA).nonce();
        return nonce;
    }

    function isDelegated(address _targetEoA) external view returns (bool) {
        return _isDelegated(_targetEoA);
    }

    function validateSignature(address _targetEoA, bytes32 _hash, bytes calldata _signature)
        external
        view
        returns (bool)
    {
        if (!_isDelegated(_targetEoA)) {
            revert NotDelegated();
        }
        return ITKGasDelegate(_targetEoA).validateSignature(_hash, _signature);
    }

    // Hash function lenses
    function hashExecution(
        address _targetEoA,
        uint128 _nonce,
        uint32 _deadline,
        address _outputContract,
        uint256 _ethAmount,
        bytes calldata _arguments
    ) external view returns (bytes32) {
        if (!_isDelegated(_targetEoA)) {
            revert NotDelegated();
        }
        return ITKGasDelegate(_targetEoA).hashExecution(_nonce, _deadline, _outputContract, _ethAmount, _arguments);
    }

    function hashBurnNonce(address _targetEoA, uint128 _nonce) external view returns (bytes32) {
        if (!_isDelegated(_targetEoA)) {
            revert NotDelegated();
        }
        return ITKGasDelegate(_targetEoA).hashBurnNonce(_nonce);
    }

    function hashApproveThenExecute(
        address _targetEoA,
        uint128 _nonce,
        uint32 _deadline,
        address _erc20Contract,
        address _spender,
        uint256 _approveAmount,
        address _outputContract,
        uint256 _ethAmount,
        bytes calldata _arguments
    ) external view returns (bytes32) {
        if (!_isDelegated(_targetEoA)) {
            revert NotDelegated();
        }
        return ITKGasDelegate(_targetEoA).hashApproveThenExecute(
            _nonce, _deadline, _erc20Contract, _spender, _approveAmount, _outputContract, _ethAmount, _arguments
        );
    }

    function hashSessionExecution(
        address _targetEoA,
        uint128 _counter,
        uint32 _deadline,
        address _sender,
        address _outputContract
    ) external view returns (bytes32) {
        if (!_isDelegated(_targetEoA)) {
            revert NotDelegated();
        }
        return ITKGasDelegate(_targetEoA).hashSessionExecution(_counter, _deadline, _sender, _outputContract);
    }

    function hashArbitrarySessionExecution(address _targetEoA, uint128 _counter, uint32 _deadline, address _sender)
        external
        view
        returns (bytes32)
    {
        if (!_isDelegated(_targetEoA)) {
            revert NotDelegated();
        }
        return ITKGasDelegate(_targetEoA).hashArbitrarySessionExecution(_counter, _deadline, _sender);
    }

    function hashBatchExecution(
        address _targetEoA,
        uint128 _nonce,
        uint32 _deadline,
        IBatchExecution.Call[] calldata _calls
    ) external view returns (bytes32) {
        if (!_isDelegated(_targetEoA)) {
            revert NotDelegated();
        }
        return ITKGasDelegate(_targetEoA).hashBatchExecution(_nonce, _deadline, _calls);
    }

    function hashBurnSessionCounter(address _targetEoA, uint128 _counter) external view returns (bytes32) {
        if (!_isDelegated(_targetEoA)) {
            revert NotDelegated();
        }
        return ITKGasDelegate(_targetEoA).hashBurnSessionCounter(_counter);
    }
}

File 2 of 4 : ITKGasDelegate.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.30;

import {IBatchExecution} from "./IBatchExecution.sol";

interface ITKGasDelegate is IBatchExecution {
    function nonce() external view returns (uint128);

    function validateSignature(bytes32 _hash, bytes calldata _signature) external view returns (bool);

    function checkSessionCounterExpired(uint128 _counter) external view returns (bool);

    function supportsInterface(bytes4 _interfaceId) external pure returns (bool);

    // Execute functions
    function executeReturns(bytes calldata _data) external returns (bytes memory);

    function execute(bytes calldata _data) external;

    function executeNoValueNoReturn(bytes calldata _data) external;

    function executeReturns(address _to, uint256 _value, bytes calldata _data) external returns (bytes memory);

    function execute(address _to, uint256 _value, bytes calldata _data) external;

    //ApproveThenExecute functions

    function approveThenExecuteReturns(bytes calldata _data) external returns (bytes memory);

    function approveThenExecute(bytes calldata _data) external;

    function approveThenExecuteReturns(
        address _to,
        uint256 _value,
        address _erc20,
        address _spender,
        uint256 _approveAmount,
        bytes calldata _data
    ) external returns (bytes memory);

    function approveThenExecute(
        address _to,
        uint256 _value,
        address _erc20,
        address _spender,
        uint256 _approveAmount,
        bytes calldata _data
    ) external;

    // Batch execute functions

    function executeBatchReturns(bytes calldata _data) external returns (bytes[] memory);

    function executeBatch(bytes calldata _data) external;

    function executeBatchReturns(IBatchExecution.Call[] calldata _calls, bytes calldata _data)
        external
        returns (bytes[] memory);

    function executeBatch(IBatchExecution.Call[] calldata _calls, bytes calldata _data) external;

    // Batch session execute functions
    function executeBatchSessionReturns(bytes calldata _data) external returns (bytes[] memory);

    function executeBatchSession(bytes calldata _data) external;

    function executeBatchSessionReturns(IBatchExecution.Call[] calldata _calls, bytes calldata _data)
        external
        returns (bytes[] memory);

    function executeBatchSession(IBatchExecution.Call[] calldata _calls, bytes calldata _data) external;

    // Session execute functions
    function executeSessionReturns(bytes calldata _data) external returns (bytes memory);

    function executeSession(bytes calldata _data) external;

    function executeSessionReturns(address _to, uint256 _value, bytes calldata _data) external returns (bytes memory);

    function executeSession(address _to, uint256 _value, bytes calldata _data) external;

    // Arbitrary session functions
    function executeSessionArbitraryReturns(bytes calldata _data) external returns (bytes memory);

    function executeSessionArbitrary(bytes calldata _data) external;

    function executeSessionArbitraryReturns(address _to, uint256 _value, bytes calldata _data)
        external
        returns (bytes memory);

    function executeSessionArbitrary(address _to, uint256 _value, bytes calldata _data) external;

    // Arbitrary batch session functions

    function executeBatchSessionArbitraryReturns(bytes calldata _data) external returns (bytes[] memory);

    function executeBatchSessionArbitrary(bytes calldata _data) external;

    function executeBatchSessionArbitraryReturns(IBatchExecution.Call[] calldata _calls, bytes calldata _data)
        external
        returns (bytes[] memory);

    function executeBatchSessionArbitrary(IBatchExecution.Call[] calldata _calls, bytes calldata _data) external;

    // Burn functions
    function burnNonce(bytes calldata _signature, uint128 _nonce) external;
    function burnSessionCounter(bytes calldata _signature, uint128 _counter) external;
    function burnNonce() external;
    function burnSessionCounter(uint128 _counter) external;

    // Hash functions
    function hashExecution(uint128 _nonce, uint32 _deadline, address _to, uint256 _value, bytes calldata _data)
        external
        view
        returns (bytes32);

    function hashBurnNonce(uint128 _nonce) external view returns (bytes32);

    function hashApproveThenExecute(
        uint128 _nonce,
        uint32 _deadline,
        address _erc20Contract,
        address _spender,
        uint256 _approveAmount,
        address _to,
        uint256 _value,
        bytes calldata _data
    ) external view returns (bytes32);

    function hashSessionExecution(uint128 _counter, uint32 _deadline, address _sender, address _to)
        external
        view
        returns (bytes32);

    function hashArbitrarySessionExecution(uint128 _counter, uint32 _deadline, address _sender)
        external
        view
        returns (bytes32);

    function hashBatchExecution(uint128 _nonce, uint32 _deadline, IBatchExecution.Call[] calldata _calls)
        external
        view
        returns (bytes32);

    function hashBurnSessionCounter(uint128 _counter) external view returns (bytes32);
}

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

import {IBatchExecution} from "./IBatchExecution.sol";

interface ITKGasStation is IBatchExecution {
    function TK_GAS_DELEGATE() external view returns (address);

    // Execute functions
    function executeReturns(address _target, address _to, uint256 _ethAmount, bytes calldata _data)
        external
        returns (bytes memory);
    function execute(address _target, address _to, uint256 _ethAmount, bytes calldata _data) external;

    // ApproveThenExecute functions
    function approveThenExecuteReturns(
        address _target,
        address _to,
        uint256 _ethAmount,
        address _erc20,
        address _spender,
        uint256 _approveAmount,
        bytes calldata _data
    ) external returns (bytes memory);
    function approveThenExecute(
        address _target,
        address _to,
        uint256 _ethAmount,
        address _erc20,
        address _spender,
        uint256 _approveAmount,
        bytes calldata _data
    ) external;

    // Batch execute functions
    function executeBatchReturns(address _target, IBatchExecution.Call[] calldata _calls, bytes calldata _data)
        external
        returns (bytes[] memory);
    function executeBatch(address _target, IBatchExecution.Call[] calldata _calls, bytes calldata _data) external;

    function burnNonce(address _targetEoA, bytes calldata _signature, uint128 _nonce) external;

    function getNonce(address _targetEoA) external view returns (uint128);

    function isDelegated(address _targetEoA) external view returns (bool);
}

File 4 of 4 : IBatchExecution.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.30;

interface IBatchExecution {
    struct Call {
        address to;
        uint256 value;
        bytes data;
    }
}

Settings
{
  "remappings": [
    "solady/=lib/solady/src/",
    "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
    "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
    "account-abstraction/=lib/account-abstraction/contracts/",
    "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
    "forge-std/=lib/forge-std/src/",
    "halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/",
    "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 1000000
  },
  "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":"_tkGasDelegate","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ExecutionFailed","type":"error"},{"inputs":[],"name":"InvalidFunctionSelector","type":"error"},{"inputs":[],"name":"NotDelegated","type":"error"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"TK_GAS_DELEGATE","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_ethAmount","type":"uint256"},{"internalType":"address","name":"_erc20","type":"address"},{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_approveAmount","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"approveThenExecute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_ethAmount","type":"uint256"},{"internalType":"address","name":"_erc20","type":"address"},{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_approveAmount","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"approveThenExecuteReturns","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_targetEoA","type":"address"},{"internalType":"bytes","name":"_signature","type":"bytes"},{"internalType":"uint128","name":"_nonce","type":"uint128"}],"name":"burnNonce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_ethAmount","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct IBatchExecution.Call[]","name":"_calls","type":"tuple[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"executeBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct IBatchExecution.Call[]","name":"_calls","type":"tuple[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"executeBatchReturns","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_target","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_ethAmount","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"executeReturns","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_targetEoA","type":"address"}],"name":"getNonce","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_targetEoA","type":"address"},{"internalType":"uint128","name":"_nonce","type":"uint128"},{"internalType":"uint32","name":"_deadline","type":"uint32"},{"internalType":"address","name":"_erc20Contract","type":"address"},{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_approveAmount","type":"uint256"},{"internalType":"address","name":"_outputContract","type":"address"},{"internalType":"uint256","name":"_ethAmount","type":"uint256"},{"internalType":"bytes","name":"_arguments","type":"bytes"}],"name":"hashApproveThenExecute","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_targetEoA","type":"address"},{"internalType":"uint128","name":"_counter","type":"uint128"},{"internalType":"uint32","name":"_deadline","type":"uint32"},{"internalType":"address","name":"_sender","type":"address"}],"name":"hashArbitrarySessionExecution","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_targetEoA","type":"address"},{"internalType":"uint128","name":"_nonce","type":"uint128"},{"internalType":"uint32","name":"_deadline","type":"uint32"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct IBatchExecution.Call[]","name":"_calls","type":"tuple[]"}],"name":"hashBatchExecution","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_targetEoA","type":"address"},{"internalType":"uint128","name":"_nonce","type":"uint128"}],"name":"hashBurnNonce","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_targetEoA","type":"address"},{"internalType":"uint128","name":"_counter","type":"uint128"}],"name":"hashBurnSessionCounter","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_targetEoA","type":"address"},{"internalType":"uint128","name":"_nonce","type":"uint128"},{"internalType":"uint32","name":"_deadline","type":"uint32"},{"internalType":"address","name":"_outputContract","type":"address"},{"internalType":"uint256","name":"_ethAmount","type":"uint256"},{"internalType":"bytes","name":"_arguments","type":"bytes"}],"name":"hashExecution","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_targetEoA","type":"address"},{"internalType":"uint128","name":"_counter","type":"uint128"},{"internalType":"uint32","name":"_deadline","type":"uint32"},{"internalType":"address","name":"_sender","type":"address"},{"internalType":"address","name":"_outputContract","type":"address"}],"name":"hashSessionExecution","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_targetEoA","type":"address"}],"name":"isDelegated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_targetEoA","type":"address"},{"internalType":"bytes32","name":"_hash","type":"bytes32"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"validateSignature","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

0x60a034606d57601f611d6d38819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051611ce7908161008682396080518181816111460152611bfb0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610028575b346100245761001c3661193b565b602081519101f35b5f80fd5b5f3560e01c80632b98ba0c146101475780632d0335ab146101425780633e28391d1461013d5780633f67163e1461013857806355abb7cd1461013357806361724fbb1461012e5780636386d306146101295780636cbef16d14610124578063835f7bf71461011f578063971604c61461011a5780639aefaff814610115578063a3396ade14610110578063b4eb7c251461010b578063c1a8853a14610106578063cf26488a14610101578063df0d3eaf146100fc578063e10a3566146100f75763e5925a000361000e576112ef565b6111e9565b61116a565b6110fc565b610f9c565b610eaf565b610db8565b610d3d565b610b8e565b610ac7565b6109f6565b6108e4565b610813565b6106c5565b6105fd565b6104f3565b6103fe565b61030a565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361002457565b6064359073ffffffffffffffffffffffffffffffffffffffff8216820361002457565b6084359073ffffffffffffffffffffffffffffffffffffffff8216820361002457565b359073ffffffffffffffffffffffffffffffffffffffff8216820361002457565b9181601f840112156100245782359167ffffffffffffffff8311610024576020838186019501011161002457565b60e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100245760043573ffffffffffffffffffffffffffffffffffffffff81168103610024579160243573ffffffffffffffffffffffffffffffffffffffff8116810361002457916044359160643573ffffffffffffffffffffffffffffffffffffffff81168103610024579161029f60846101b5565b9160a4359160c4359067ffffffffffffffff8211610024576102c3916004016101d6565b9091565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b346100245761031836610204565b91956103278895969498611b39565b156103d6576103805f979373ffffffffffffffffffffffffffffffffffffffff9389956040519b8c9a8b998a977f8d0598d200000000000000000000000000000000000000000000000000000000895260048901611558565b0393165af180156103d1576103ab915f916103af575b506040519182916020835260208301906102c7565b0390f35b6103cb91503d805f833e6103c38183611430565b8101906114f1565b5f610396565b6115a1565b7f9ccd6d76000000000000000000000000000000000000000000000000000000005f5260045ffd5b346100245760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100245761043561014c565b61043e81611b39565b156103d657602073ffffffffffffffffffffffffffffffffffffffff916004604051809481937faffed0e0000000000000000000000000000000000000000000000000000000008352165afa80156103d1575f906104b6575b6040516fffffffffffffffffffffffffffffffff919091168152602090f35b506020813d6020116104eb575b816104d060209383611430565b81010312610024576103ab90516104e681610698565b610497565b3d91506104c3565b346100245760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261002457602061053461052f61014c565b611b39565b6040519015158152f35b9181601f840112156100245782359167ffffffffffffffff8311610024576020808501948460051b01011161002457565b9060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126100245760043573ffffffffffffffffffffffffffffffffffffffff81168103610024579160243567ffffffffffffffff811161002457816105da9160040161053e565b929092916044359067ffffffffffffffff8211610024576102c3916004016101d6565b346100245761060b3661056f565b929161061685611b39565b15945f956103d65773ffffffffffffffffffffffffffffffffffffffff1690813b15610024575f8094610678604051978896879586947f5885bbcf000000000000000000000000000000000000000000000000000000008652600486016116d3565b03925af180156103d15761068a575080f35b61069691505f90611430565b005b6fffffffffffffffffffffffffffffffff81160361002457565b6044359063ffffffff8216820361002457565b346100245760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610024576106fc61014c565b60243561070881610698565b6107106106b2565b60643567ffffffffffffffff81116100245761073090369060040161053e565b61073b859295611b39565b156103d65773ffffffffffffffffffffffffffffffffffffffff6020946107bd63ffffffff976fffffffffffffffffffffffffffffffff94604051998a98899788967f0cb980670000000000000000000000000000000000000000000000000000000088521660048701521660248501526060604485015260648401916115ac565b0392165afa80156103d1576103ab915f916107e4575b506040519081529081906020820190565b610806915060203d60201161080c575b6107fe8183611430565b8101906116fa565b5f6107d3565b503d6107f4565b346100245760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100245761084a61014c565b60243561085681610698565b61085f82611b39565b156103d6576fffffffffffffffffffffffffffffffff602460209273ffffffffffffffffffffffffffffffffffffffff60405195869485937f2397a131000000000000000000000000000000000000000000000000000000008552166004840152165afa80156103d1576103ab915f916107e457506040519081529081906020820190565b346100245760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100245761091b61014c565b60243561092781610698565b61092f6106b2565b61093761016f565b9260843560a43567ffffffffffffffff81116100245761095b9036906004016101d6565b91909461096784611b39565b156103d6576107bd6020966fffffffffffffffffffffffffffffffff9473ffffffffffffffffffffffffffffffffffffffff948563ffffffff9b6040519c8d9b8c9a8b997f2a1af0a2000000000000000000000000000000000000000000000000000000008b521660048a0152166024880152166044860152606485015260a0608485015260a484019161151a565b346100245760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261002457610a2d61014c565b602435610a3981610698565b610a4282611b39565b156103d6576fffffffffffffffffffffffffffffffff602460209273ffffffffffffffffffffffffffffffffffffffff60405195869485937f922cf8a9000000000000000000000000000000000000000000000000000000008552166004840152165afa80156103d1576103ab915f916107e457506040519081529081906020820190565b34610024576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261002457610aff61014c565b60243590610b0c82610698565b610b146106b2565b91610b1d61016f565b91610b26610192565b60c43560a43573ffffffffffffffffffffffffffffffffffffffff821682036100245760e43592610104359667ffffffffffffffff8811610024576103ab98610b76610b7e9936906004016101d6565b989097611709565b6040519081529081906020820190565b346100245760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261002457610bc561014c565b60443567ffffffffffffffff811161002457610be59036906004016101d6565b90610bef83611b39565b156103d657610c559260209273ffffffffffffffffffffffffffffffffffffffff6040518096819582947f333daf92000000000000000000000000000000000000000000000000000000008452602435600485015260406024850152604484019161151a565b0392165afa80156103d1576103ab915f91610c7e575b5060405190151581529081906020820190565b610ca0915060203d602011610ca6575b610c988183611430565b81019061182a565b5f610c6b565b503d610c8e565b9060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126100245760043573ffffffffffffffffffffffffffffffffffffffff81168103610024579160243573ffffffffffffffffffffffffffffffffffffffff811681036100245791604435916064359067ffffffffffffffff8211610024576102c3916004016101d6565b3461002457610d4b36610cad565b9291610d5685611b39565b15945f956103d65773ffffffffffffffffffffffffffffffffffffffff1690813b15610024575f8094610678604051978896879586947fb61d27f600000000000000000000000000000000000000000000000000000000865260048601611842565b346100245760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261002457610def61014c565b602435610dfb81610698565b610e036106b2565b91610e0c61016f565b90610e1681611b39565b156103d65760209273ffffffffffffffffffffffffffffffffffffffff606492816fffffffffffffffffffffffffffffffff9563ffffffff604051998a9889977fd81ea0bc000000000000000000000000000000000000000000000000000000008952166004880152166024860152166044840152165afa80156103d1576103ab915f916107e457506040519081529081906020820190565b3461002457610ebd36610cad565b939091610ec982611b39565b156103d6575f73ffffffffffffffffffffffffffffffffffffffff8195610380604051988997889687947fcc83c72e00000000000000000000000000000000000000000000000000000000865260048601611842565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610f5157505050505090565b9091929394602080610f8d837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301875289516102c7565b97019301930191939290610f42565b3461002457610faa3661056f565b939091610fb682611b39565b156103d6575f73ffffffffffffffffffffffffffffffffffffffff819561100c604051988997889687947f0ab96bb1000000000000000000000000000000000000000000000000000000008652600486016116d3565b0393165af180156103d1575f9061102e575b6103ab9060405191829182610f1f565b503d805f833e61103e8183611430565b8101906020818303126100245780519067ffffffffffffffff8211610024570181601f820112156100245780519067ffffffffffffffff82116110ed578160051b90604051926110916020840185611430565b8352602080840192820101918483116100245760208201905b8382106110bf57505050506103ab915061101e565b815167ffffffffffffffff8111610024576020916110e2888480948801016114ab565b8152019101906110aa565b611403565b5f91031261002457565b34610024575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261002457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100245761117836610204565b9491929561118588611b39565b15975f986103d65773ffffffffffffffffffffffffffffffffffffffff1693843b15610024575f968793610678926040519a8b998a9889977f8cee772500000000000000000000000000000000000000000000000000000000895260048901611558565b346100245760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100245761122061014c565b60243561122c81610698565b6112346106b2565b9161123d61016f565b611245610192565b9261124f83611b39565b156103d65773ffffffffffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff93816020968160849663ffffffff6040519b8c9a8b997f2c4d6dcf000000000000000000000000000000000000000000000000000000008b521660048a0152166024880152166044860152166064840152165afa80156103d1576103ab915f916107e457506040519081529081906020820190565b346100245760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100245761132661014c565b60243567ffffffffffffffff8111610024576113469036906004016101d6565b6044929192359161135683610698565b61135f81611b39565b156103d65773ffffffffffffffffffffffffffffffffffffffff16803b15610024576fffffffffffffffffffffffffffffffff935f6113d8938195604051978896879586947f195e307b00000000000000000000000000000000000000000000000000000000865260406004870152604486019161151a565b9116602483015203925af180156103d1576113ef57005b806113fd5f61069693611430565b806110f2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176110ed57604052565b67ffffffffffffffff81116110ed57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215610024578051906114c282611471565b926114d06040519485611430565b8284526020838301011161002457815f9260208093018386015e8301015290565b9060208282031261002457815167ffffffffffffffff81116100245761151792016114ab565b90565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b929373ffffffffffffffffffffffffffffffffffffffff60c095611517999794828095168752602087015216604085015216606083015260808201528160a0820152019161151a565b6040513d5f823e3d90fd5b906020838281520160208260051b85010193835f915b8483106115d25750505050505090565b9091929394957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820301855286357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18436030181121561002457830173ffffffffffffffffffffffffffffffffffffffff61164d826101b5565b1682526020810135602083015260408101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561002457016020813591019067ffffffffffffffff8111610024578036038213610024576116c560209283926060868160406001990152019161151a565b9801969501930191906115c2565b92906116ec9061151795936040865260408601916115ac565b92602081850391015261151a565b90816020910312610024575190565b97949095919692989361171b89611b39565b156103d657604051998a9889987fddb72afd000000000000000000000000000000000000000000000000000000008a526fffffffffffffffffffffffffffffffff1660048a015263ffffffff16602489015273ffffffffffffffffffffffffffffffffffffffff16604488015273ffffffffffffffffffffffffffffffffffffffff166064870152608486015273ffffffffffffffffffffffffffffffffffffffff1660a485015260c484015260e4830161010090526101048301906117e09261151a565b039173ffffffffffffffffffffffffffffffffffffffff1691815a93602094fa9081156103d1575f91611811575090565b611517915060203d60201161080c576107fe8183611430565b90816020910312610024575180151581036100245790565b611517949273ffffffffffffffffffffffffffffffffffffffff6060931682526020820152816040820152019161151a565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b90601510156118b05760150190565b611874565b90601610156118b05760160190565b909291928360151161002457831161002457601501917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb0190565b908092918237015f815290565b3d15611936573d9061191d82611471565b9161192b6040519384611430565b82523d5f602084013e565b606090565b60013560601c9061195261194e83611b39565b1590565b6103d6577fff000000000000000000000000000000000000000000000000000000000000006119aa611984835f6118a1565b357fff000000000000000000000000000000000000000000000000000000000000001690565b16156119d9575b7f42868c9b000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff000000000000000000000000000000000000000000000000000000000000000611a07611984835f6118b5565b168015908115611aa2575b8115611a78575b50156119b1575f9182611a2e838294836118c4565b9190611a3f604051809481936118ff565b03925af1611a4b61190c565b90611517577facfdb444000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f20000000000000000000000000000000000000000000000000000000000000009150145f611a19565b7f100000000000000000000000000000000000000000000000000000000000000081149150611a12565b60408051909190611add8382611430565b60178152917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001366020840137565b8051156118b05760200190565b8051600110156118b05760210190565b8051600210156118b05760220190565b6017813b03611c1f5760175f611b4d611acc565b9260208401903c7fef000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000611bc8611ba284611b0c565b517fff000000000000000000000000000000000000000000000000000000000000001690565b1614801590611c5a575b8015611c24575b611c1f576023015160601c73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161490565b505f90565b507fff00000000000000000000000000000000000000000000000000000000000000611c52611ba283611b29565b161515611bd9565b507f01000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000611ca9611ba284611b19565b161415611bd256fea26469706673582212206a88cba76571534b5641434a7e1d3ccf0391bb0e6c690095e457719cb0dcae9164736f6c634300081e0033000000000000000000000000000066a00056cd44008768e2af00696e19a30084

Deployed Bytecode

0x60806040526004361015610028575b346100245761001c3661193b565b602081519101f35b5f80fd5b5f3560e01c80632b98ba0c146101475780632d0335ab146101425780633e28391d1461013d5780633f67163e1461013857806355abb7cd1461013357806361724fbb1461012e5780636386d306146101295780636cbef16d14610124578063835f7bf71461011f578063971604c61461011a5780639aefaff814610115578063a3396ade14610110578063b4eb7c251461010b578063c1a8853a14610106578063cf26488a14610101578063df0d3eaf146100fc578063e10a3566146100f75763e5925a000361000e576112ef565b6111e9565b61116a565b6110fc565b610f9c565b610eaf565b610db8565b610d3d565b610b8e565b610ac7565b6109f6565b6108e4565b610813565b6106c5565b6105fd565b6104f3565b6103fe565b61030a565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361002457565b6064359073ffffffffffffffffffffffffffffffffffffffff8216820361002457565b6084359073ffffffffffffffffffffffffffffffffffffffff8216820361002457565b359073ffffffffffffffffffffffffffffffffffffffff8216820361002457565b9181601f840112156100245782359167ffffffffffffffff8311610024576020838186019501011161002457565b60e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100245760043573ffffffffffffffffffffffffffffffffffffffff81168103610024579160243573ffffffffffffffffffffffffffffffffffffffff8116810361002457916044359160643573ffffffffffffffffffffffffffffffffffffffff81168103610024579161029f60846101b5565b9160a4359160c4359067ffffffffffffffff8211610024576102c3916004016101d6565b9091565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b346100245761031836610204565b91956103278895969498611b39565b156103d6576103805f979373ffffffffffffffffffffffffffffffffffffffff9389956040519b8c9a8b998a977f8d0598d200000000000000000000000000000000000000000000000000000000895260048901611558565b0393165af180156103d1576103ab915f916103af575b506040519182916020835260208301906102c7565b0390f35b6103cb91503d805f833e6103c38183611430565b8101906114f1565b5f610396565b6115a1565b7f9ccd6d76000000000000000000000000000000000000000000000000000000005f5260045ffd5b346100245760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100245761043561014c565b61043e81611b39565b156103d657602073ffffffffffffffffffffffffffffffffffffffff916004604051809481937faffed0e0000000000000000000000000000000000000000000000000000000008352165afa80156103d1575f906104b6575b6040516fffffffffffffffffffffffffffffffff919091168152602090f35b506020813d6020116104eb575b816104d060209383611430565b81010312610024576103ab90516104e681610698565b610497565b3d91506104c3565b346100245760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261002457602061053461052f61014c565b611b39565b6040519015158152f35b9181601f840112156100245782359167ffffffffffffffff8311610024576020808501948460051b01011161002457565b9060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126100245760043573ffffffffffffffffffffffffffffffffffffffff81168103610024579160243567ffffffffffffffff811161002457816105da9160040161053e565b929092916044359067ffffffffffffffff8211610024576102c3916004016101d6565b346100245761060b3661056f565b929161061685611b39565b15945f956103d65773ffffffffffffffffffffffffffffffffffffffff1690813b15610024575f8094610678604051978896879586947f5885bbcf000000000000000000000000000000000000000000000000000000008652600486016116d3565b03925af180156103d15761068a575080f35b61069691505f90611430565b005b6fffffffffffffffffffffffffffffffff81160361002457565b6044359063ffffffff8216820361002457565b346100245760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610024576106fc61014c565b60243561070881610698565b6107106106b2565b60643567ffffffffffffffff81116100245761073090369060040161053e565b61073b859295611b39565b156103d65773ffffffffffffffffffffffffffffffffffffffff6020946107bd63ffffffff976fffffffffffffffffffffffffffffffff94604051998a98899788967f0cb980670000000000000000000000000000000000000000000000000000000088521660048701521660248501526060604485015260648401916115ac565b0392165afa80156103d1576103ab915f916107e4575b506040519081529081906020820190565b610806915060203d60201161080c575b6107fe8183611430565b8101906116fa565b5f6107d3565b503d6107f4565b346100245760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100245761084a61014c565b60243561085681610698565b61085f82611b39565b156103d6576fffffffffffffffffffffffffffffffff602460209273ffffffffffffffffffffffffffffffffffffffff60405195869485937f2397a131000000000000000000000000000000000000000000000000000000008552166004840152165afa80156103d1576103ab915f916107e457506040519081529081906020820190565b346100245760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100245761091b61014c565b60243561092781610698565b61092f6106b2565b61093761016f565b9260843560a43567ffffffffffffffff81116100245761095b9036906004016101d6565b91909461096784611b39565b156103d6576107bd6020966fffffffffffffffffffffffffffffffff9473ffffffffffffffffffffffffffffffffffffffff948563ffffffff9b6040519c8d9b8c9a8b997f2a1af0a2000000000000000000000000000000000000000000000000000000008b521660048a0152166024880152166044860152606485015260a0608485015260a484019161151a565b346100245760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261002457610a2d61014c565b602435610a3981610698565b610a4282611b39565b156103d6576fffffffffffffffffffffffffffffffff602460209273ffffffffffffffffffffffffffffffffffffffff60405195869485937f922cf8a9000000000000000000000000000000000000000000000000000000008552166004840152165afa80156103d1576103ab915f916107e457506040519081529081906020820190565b34610024576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261002457610aff61014c565b60243590610b0c82610698565b610b146106b2565b91610b1d61016f565b91610b26610192565b60c43560a43573ffffffffffffffffffffffffffffffffffffffff821682036100245760e43592610104359667ffffffffffffffff8811610024576103ab98610b76610b7e9936906004016101d6565b989097611709565b6040519081529081906020820190565b346100245760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261002457610bc561014c565b60443567ffffffffffffffff811161002457610be59036906004016101d6565b90610bef83611b39565b156103d657610c559260209273ffffffffffffffffffffffffffffffffffffffff6040518096819582947f333daf92000000000000000000000000000000000000000000000000000000008452602435600485015260406024850152604484019161151a565b0392165afa80156103d1576103ab915f91610c7e575b5060405190151581529081906020820190565b610ca0915060203d602011610ca6575b610c988183611430565b81019061182a565b5f610c6b565b503d610c8e565b9060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126100245760043573ffffffffffffffffffffffffffffffffffffffff81168103610024579160243573ffffffffffffffffffffffffffffffffffffffff811681036100245791604435916064359067ffffffffffffffff8211610024576102c3916004016101d6565b3461002457610d4b36610cad565b9291610d5685611b39565b15945f956103d65773ffffffffffffffffffffffffffffffffffffffff1690813b15610024575f8094610678604051978896879586947fb61d27f600000000000000000000000000000000000000000000000000000000865260048601611842565b346100245760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261002457610def61014c565b602435610dfb81610698565b610e036106b2565b91610e0c61016f565b90610e1681611b39565b156103d65760209273ffffffffffffffffffffffffffffffffffffffff606492816fffffffffffffffffffffffffffffffff9563ffffffff604051998a9889977fd81ea0bc000000000000000000000000000000000000000000000000000000008952166004880152166024860152166044840152165afa80156103d1576103ab915f916107e457506040519081529081906020820190565b3461002457610ebd36610cad565b939091610ec982611b39565b156103d6575f73ffffffffffffffffffffffffffffffffffffffff8195610380604051988997889687947fcc83c72e00000000000000000000000000000000000000000000000000000000865260048601611842565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610f5157505050505090565b9091929394602080610f8d837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301875289516102c7565b97019301930191939290610f42565b3461002457610faa3661056f565b939091610fb682611b39565b156103d6575f73ffffffffffffffffffffffffffffffffffffffff819561100c604051988997889687947f0ab96bb1000000000000000000000000000000000000000000000000000000008652600486016116d3565b0393165af180156103d1575f9061102e575b6103ab9060405191829182610f1f565b503d805f833e61103e8183611430565b8101906020818303126100245780519067ffffffffffffffff8211610024570181601f820112156100245780519067ffffffffffffffff82116110ed578160051b90604051926110916020840185611430565b8352602080840192820101918483116100245760208201905b8382106110bf57505050506103ab915061101e565b815167ffffffffffffffff8111610024576020916110e2888480948801016114ab565b8152019101906110aa565b611403565b5f91031261002457565b34610024575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261002457602060405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000066a00056cd44008768e2af00696e19a30084168152f35b346100245761117836610204565b9491929561118588611b39565b15975f986103d65773ffffffffffffffffffffffffffffffffffffffff1693843b15610024575f968793610678926040519a8b998a9889977f8cee772500000000000000000000000000000000000000000000000000000000895260048901611558565b346100245760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100245761122061014c565b60243561122c81610698565b6112346106b2565b9161123d61016f565b611245610192565b9261124f83611b39565b156103d65773ffffffffffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff93816020968160849663ffffffff6040519b8c9a8b997f2c4d6dcf000000000000000000000000000000000000000000000000000000008b521660048a0152166024880152166044860152166064840152165afa80156103d1576103ab915f916107e457506040519081529081906020820190565b346100245760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100245761132661014c565b60243567ffffffffffffffff8111610024576113469036906004016101d6565b6044929192359161135683610698565b61135f81611b39565b156103d65773ffffffffffffffffffffffffffffffffffffffff16803b15610024576fffffffffffffffffffffffffffffffff935f6113d8938195604051978896879586947f195e307b00000000000000000000000000000000000000000000000000000000865260406004870152604486019161151a565b9116602483015203925af180156103d1576113ef57005b806113fd5f61069693611430565b806110f2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176110ed57604052565b67ffffffffffffffff81116110ed57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215610024578051906114c282611471565b926114d06040519485611430565b8284526020838301011161002457815f9260208093018386015e8301015290565b9060208282031261002457815167ffffffffffffffff81116100245761151792016114ab565b90565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b929373ffffffffffffffffffffffffffffffffffffffff60c095611517999794828095168752602087015216604085015216606083015260808201528160a0820152019161151a565b6040513d5f823e3d90fd5b906020838281520160208260051b85010193835f915b8483106115d25750505050505090565b9091929394957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820301855286357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18436030181121561002457830173ffffffffffffffffffffffffffffffffffffffff61164d826101b5565b1682526020810135602083015260408101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561002457016020813591019067ffffffffffffffff8111610024578036038213610024576116c560209283926060868160406001990152019161151a565b9801969501930191906115c2565b92906116ec9061151795936040865260408601916115ac565b92602081850391015261151a565b90816020910312610024575190565b97949095919692989361171b89611b39565b156103d657604051998a9889987fddb72afd000000000000000000000000000000000000000000000000000000008a526fffffffffffffffffffffffffffffffff1660048a015263ffffffff16602489015273ffffffffffffffffffffffffffffffffffffffff16604488015273ffffffffffffffffffffffffffffffffffffffff166064870152608486015273ffffffffffffffffffffffffffffffffffffffff1660a485015260c484015260e4830161010090526101048301906117e09261151a565b039173ffffffffffffffffffffffffffffffffffffffff1691815a93602094fa9081156103d1575f91611811575090565b611517915060203d60201161080c576107fe8183611430565b90816020910312610024575180151581036100245790565b611517949273ffffffffffffffffffffffffffffffffffffffff6060931682526020820152816040820152019161151a565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b90601510156118b05760150190565b611874565b90601610156118b05760160190565b909291928360151161002457831161002457601501917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb0190565b908092918237015f815290565b3d15611936573d9061191d82611471565b9161192b6040519384611430565b82523d5f602084013e565b606090565b60013560601c9061195261194e83611b39565b1590565b6103d6577fff000000000000000000000000000000000000000000000000000000000000006119aa611984835f6118a1565b357fff000000000000000000000000000000000000000000000000000000000000001690565b16156119d9575b7f42868c9b000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff000000000000000000000000000000000000000000000000000000000000000611a07611984835f6118b5565b168015908115611aa2575b8115611a78575b50156119b1575f9182611a2e838294836118c4565b9190611a3f604051809481936118ff565b03925af1611a4b61190c565b90611517577facfdb444000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f20000000000000000000000000000000000000000000000000000000000000009150145f611a19565b7f100000000000000000000000000000000000000000000000000000000000000081149150611a12565b60408051909190611add8382611430565b60178152917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001366020840137565b8051156118b05760200190565b8051600110156118b05760210190565b8051600210156118b05760220190565b6017813b03611c1f5760175f611b4d611acc565b9260208401903c7fef000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000611bc8611ba284611b0c565b517fff000000000000000000000000000000000000000000000000000000000000001690565b1614801590611c5a575b8015611c24575b611c1f576023015160601c73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000066a00056cd44008768e2af00696e19a30084161490565b505f90565b507fff00000000000000000000000000000000000000000000000000000000000000611c52611ba283611b29565b161515611bd9565b507f01000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000611ca9611ba284611b19565b161415611bd256fea26469706673582212206a88cba76571534b5641434a7e1d3ccf0391bb0e6c690095e457719cb0dcae9164736f6c634300081e0033

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