ETH Price: $3,473.63 (-2.71%)
Gas: 7 Gwei

Contract

0xC40329D3aE56Af6b0757C3fE53941DDCC3d92671
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00
Transaction Hash
Method
Block
From
To
Value
Deposit196542512024-04-14 14:04:2360 days ago1713103463IN
0xC40329D3...CC3d92671
0.0015 ETH0.0022628711.75911791
Deposit196525132024-04-14 8:14:5960 days ago1713082499IN
0xC40329D3...CC3d92671
0.2 ETH0.002274111.8174466
Deposit196519152024-04-14 6:13:5960 days ago1713075239IN
0xC40329D3...CC3d92671
0.00326524 ETH0.0021335311.08696272
Deposit196477002024-04-13 15:59:5961 days ago1713023999IN
0xC40329D3...CC3d92671
1 ETH0.0027033414.04803955
Deposit196476442024-04-13 15:48:4761 days ago1713023327IN
0xC40329D3...CC3d92671
0.1 ETH0.0026442913.74200944
Deposit196475332024-04-13 15:26:3561 days ago1713021995IN
0xC40329D3...CC3d92671
0.1 ETH0.0026375313.70604473
Deposit196474162024-04-13 15:03:1161 days ago1713020591IN
0xC40329D3...CC3d92671
0.05 ETH0.0026275613.65421511
Deposit196474002024-04-13 14:59:5961 days ago1713020399IN
0xC40329D3...CC3d92671
3 ETH0.0026711313.88064017
Deposit196470322024-04-13 13:45:1161 days ago1713015911IN
0xC40329D3...CC3d92671
0.2 ETH0.0024031613.70604263
Deposit196465612024-04-13 12:10:2361 days ago1713010223IN
0xC40329D3...CC3d92671
1 ETH0.0019384310.07378107
Deposit196453302024-04-13 8:01:1161 days ago1712995271IN
0xC40329D3...CC3d92671
0.153 ETH0.0023056511.9814224
Deposit196444722024-04-13 5:08:2361 days ago1712984903IN
0xC40329D3...CC3d92671
0.1 ETH0.0021277911.05713486
Deposit196436962024-04-13 2:31:4761 days ago1712975507IN
0xC40329D3...CC3d92671
0.4 ETH0.0028074414.58899177
Deposit196436262024-04-13 2:17:2361 days ago1712974643IN
0xC40329D3...CC3d92671
0.051 ETH0.0030270415.73015792
Deposit196434762024-04-13 1:46:4761 days ago1712972807IN
0xC40329D3...CC3d92671
0.25 ETH0.0029216215.18233877
Deposit196424232024-04-12 22:13:3562 days ago1712960015IN
0xC40329D3...CC3d92671
0.148 ETH0.0036835719.14183242
Deposit196396932024-04-12 13:01:5962 days ago1712926919IN
0xC40329D3...CC3d92671
0.00712588 ETH0.0041124221.37033874
Deposit196393762024-04-12 11:57:4762 days ago1712923067IN
0xC40329D3...CC3d92671
22 ETH0.002867516.35435587
Deposit196392982024-04-12 11:41:5962 days ago1712922119IN
0xC40329D3...CC3d92671
0.8 ETH0.0025495813.24901274
Deposit196382712024-04-12 8:15:4762 days ago1712909747IN
0xC40329D3...CC3d92671
0.05 ETH0.0032391416.8323044
Deposit196376842024-04-12 6:17:5962 days ago1712902679IN
0xC40329D3...CC3d92671
0.006 ETH0.0022659411.77507267
Deposit196372142024-04-12 4:43:1162 days ago1712896991IN
0xC40329D3...CC3d92671
0.01412344 ETH0.0019348811.03530576
Deposit196371992024-04-12 4:40:1162 days ago1712896811IN
0xC40329D3...CC3d92671
0.01912046 ETH0.0021206512.09478699
Deposit196371672024-04-12 4:33:3562 days ago1712896415IN
0xC40329D3...CC3d92671
0.00286328 ETH0.0022288611.58236115
Deposit196360542024-04-12 0:49:1162 days ago1712882951IN
0xC40329D3...CC3d92671
0.001 ETH0.0022710711.8017319
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
196542512024-04-14 14:04:2360 days ago1713103463
0xC40329D3...CC3d92671
0.0015 ETH
196525132024-04-14 8:14:5960 days ago1713082499
0xC40329D3...CC3d92671
0.2 ETH
196519152024-04-14 6:13:5960 days ago1713075239
0xC40329D3...CC3d92671
0.00326524 ETH
196477002024-04-13 15:59:5961 days ago1713023999
0xC40329D3...CC3d92671
1 ETH
196476442024-04-13 15:48:4761 days ago1713023327
0xC40329D3...CC3d92671
0.1 ETH
196475332024-04-13 15:26:3561 days ago1713021995
0xC40329D3...CC3d92671
0.1 ETH
196474162024-04-13 15:03:1161 days ago1713020591
0xC40329D3...CC3d92671
0.05 ETH
196474002024-04-13 14:59:5961 days ago1713020399
0xC40329D3...CC3d92671
3 ETH
196470322024-04-13 13:45:1161 days ago1713015911
0xC40329D3...CC3d92671
0.2 ETH
196465612024-04-13 12:10:2361 days ago1713010223
0xC40329D3...CC3d92671
1 ETH
196453302024-04-13 8:01:1161 days ago1712995271
0xC40329D3...CC3d92671
0.153 ETH
196444722024-04-13 5:08:2361 days ago1712984903
0xC40329D3...CC3d92671
0.1 ETH
196436962024-04-13 2:31:4761 days ago1712975507
0xC40329D3...CC3d92671
0.4 ETH
196436262024-04-13 2:17:2361 days ago1712974643
0xC40329D3...CC3d92671
0.051 ETH
196434762024-04-13 1:46:4761 days ago1712972807
0xC40329D3...CC3d92671
0.25 ETH
196424232024-04-12 22:13:3562 days ago1712960015
0xC40329D3...CC3d92671
0.148 ETH
196396932024-04-12 13:01:5962 days ago1712926919
0xC40329D3...CC3d92671
0.00712588 ETH
196393762024-04-12 11:57:4762 days ago1712923067
0xC40329D3...CC3d92671
22 ETH
196392982024-04-12 11:41:5962 days ago1712922119
0xC40329D3...CC3d92671
0.8 ETH
196382712024-04-12 8:15:4762 days ago1712909747
0xC40329D3...CC3d92671
0.05 ETH
196376842024-04-12 6:17:5962 days ago1712902679
0xC40329D3...CC3d92671
0.006 ETH
196372142024-04-12 4:43:1162 days ago1712896991
0xC40329D3...CC3d92671
0.01412344 ETH
196371992024-04-12 4:40:1162 days ago1712896811
0xC40329D3...CC3d92671
0.01912046 ETH
196371672024-04-12 4:33:3562 days ago1712896415
0xC40329D3...CC3d92671
0.00286328 ETH
196360542024-04-12 0:49:1162 days ago1712882951
0xC40329D3...CC3d92671
0.001 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DepositHelper

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 10 runs

Other Settings:
shanghai EvmVersion
File 1 of 5 : DepositHelper.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;

import {IStoneVault} from "../interfaces/IStoneVault.sol";

import {TransferHelper} from "@uniswap/v3-periphery/contracts/libraries/TransferHelper.sol";
import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol";

contract DepositHelper is ReentrancyGuard {
    address public immutable stone;
    address payable public immutable vault;

    address public immutable wallet;

    mapping(address => uint256) public stakingBalance0f;

    event DepositTo(
        address indexed srcAddr,
        address indexed dstAddr,
        address indexed wallet,
        uint256 etherAmount,
        uint256 stoneAmount
    );

    constructor(address _stone, address payable _vault, address _wallet) {
        require(_stone != address(0), "zero address");
        require(_vault != address(0), "zero address");
        require(_wallet != address(0), "zero address");

        stone = _stone;
        vault = _vault;
        wallet = _wallet;
    }

    function deposit(
        address _dstAddress
    ) public payable nonReentrant returns (uint256 stoneMinted) {
        require(msg.value > 0, "ZERO Amount");

        IStoneVault stoneVault = IStoneVault(vault);
        stoneMinted = stoneVault.deposit{value: msg.value}();

        TransferHelper.safeTransfer(stone, wallet, stoneMinted);

        stakingBalance0f[msg.sender] += msg.value;

        emit DepositTo(msg.sender, _dstAddress, wallet, msg.value, stoneMinted);
    }
}

File 2 of 5 : IStoneVault.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;

interface IStoneVault {
    function deposit() external payable returns (uint256 mintAmount);
}

File 3 of 5 : TransferHelper.sol
// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity >=0.6.0;

import '@openzeppelin/contracts/token/ERC20/IERC20.sol';

library TransferHelper {
    /// @notice Transfers tokens from the targeted address to the given destination
    /// @notice Errors with 'STF' if transfer fails
    /// @param token The contract address of the token to be transferred
    /// @param from The originating address from which the tokens will be transferred
    /// @param to The destination address of the transfer
    /// @param value The amount to be transferred
    function safeTransferFrom(
        address token,
        address from,
        address to,
        uint256 value
    ) internal {
        (bool success, bytes memory data) =
            token.call(abi.encodeWithSelector(IERC20.transferFrom.selector, from, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'STF');
    }

    /// @notice Transfers tokens from msg.sender to a recipient
    /// @dev Errors with ST if transfer fails
    /// @param token The contract address of the token which will be transferred
    /// @param to The recipient of the transfer
    /// @param value The value of the transfer
    function safeTransfer(
        address token,
        address to,
        uint256 value
    ) internal {
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(IERC20.transfer.selector, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'ST');
    }

    /// @notice Approves the stipulated contract to spend the given allowance in the given token
    /// @dev Errors with 'SA' if transfer fails
    /// @param token The contract address of the token to be approved
    /// @param to The target of the approval
    /// @param value The amount of the given token the target will be allowed to spend
    function safeApprove(
        address token,
        address to,
        uint256 value
    ) internal {
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(IERC20.approve.selector, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'SA');
    }

    /// @notice Transfers ETH to the recipient address
    /// @dev Fails with `STE`
    /// @param to The destination of the transfer
    /// @param value The value to be transferred
    function safeTransferETH(address to, uint256 value) internal {
        (bool success, ) = to.call{value: value}(new bytes(0));
        require(success, 'STE');
    }
}

File 4 of 5 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address from, address to, uint256 amount) external returns (bool);
}

File 5 of 5 : ReentrancyGuard.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and making it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        _nonReentrantBefore();
        _;
        _nonReentrantAfter();
    }

    function _nonReentrantBefore() private {
        // On the first call to nonReentrant, _status will be _NOT_ENTERED
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;
    }

    function _nonReentrantAfter() private {
        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a
     * `nonReentrant` function in the call stack.
     */
    function _reentrancyGuardEntered() internal view returns (bool) {
        return _status == _ENTERED;
    }
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": true,
    "runs": 10
  },
  "evmVersion": "shanghai",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_stone","type":"address"},{"internalType":"address payable","name":"_vault","type":"address"},{"internalType":"address","name":"_wallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"srcAddr","type":"address"},{"indexed":true,"internalType":"address","name":"dstAddr","type":"address"},{"indexed":true,"internalType":"address","name":"wallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"etherAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"stoneAmount","type":"uint256"}],"name":"DepositTo","type":"event"},{"inputs":[{"internalType":"address","name":"_dstAddress","type":"address"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"stoneMinted","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakingBalance0f","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stone","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60e060405234801561000f575f80fd5b506040516106dc3803806106dc83398101604081905261002e916100e1565b60015f556001600160a01b0383166100615760405162461bcd60e51b81526004016100589061012b565b60405180910390fd5b6001600160a01b0382166100875760405162461bcd60e51b81526004016100589061012b565b6001600160a01b0381166100ad5760405162461bcd60e51b81526004016100589061012b565b6001600160a01b0392831660805290821660a0521660c052610151565b6001600160a01b03811681146100de575f80fd5b50565b5f805f606084860312156100f3575f80fd5b83516100fe816100ca565b602085015190935061010f816100ca565b6040850151909250610120816100ca565b809150509250925092565b6020808252600c908201526b7a65726f206164647265737360a01b604082015260600190565b60805160a05160c0516105476101955f395f818160e70152818161024901526102a901525f818161012d015261019d01525f8181605e015261022801526105475ff3fe608060405260043610610049575f3560e01c80630167eb851461004d57806340c43eff1461009d578063521eb273146100d6578063f340fa0114610109578063fbfa77cf1461011c575b5f80fd5b348015610058575f80fd5b506100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100a8575f80fd5b506100c86100b736600461045d565b60016020525f908152604090205481565b604051908152602001610094565b3480156100e1575f80fd5b506100807f000000000000000000000000000000000000000000000000000000000000000081565b6100c861011736600461045d565b61014f565b348015610127575f80fd5b506100807f000000000000000000000000000000000000000000000000000000000000000081565b5f61015861030b565b5f341161019a5760405162461bcd60e51b815260206004820152600b60248201526a16915493c8105b5bdd5b9d60aa1b60448201526064015b60405180910390fd5b5f7f00000000000000000000000000000000000000000000000000000000000000009050806001600160a01b031663d0e30db0346040518263ffffffff1660e01b815260040160206040518083038185885af11580156101fc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610221919061048a565b915061026e7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084610362565b335f908152600160205260408120805434929061028c9084906104a1565b909155505060408051348152602081018490526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116929086169133917fbb4c1ad7429e95f013be0d74b97dfe0307ecb8f3072c5684d1bdab6ce0132ab1910160405180910390a45061030660015f55565b919050565b60025f540361035c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610191565b60025f55565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f928392908716916103bd91906104c6565b5f604051808303815f865af19150503d805f81146103f6576040519150601f19603f3d011682016040523d82523d5f602084013e6103fb565b606091505b509150915081801561042557508051158061042557508080602001905181019061042591906104f2565b6104565760405162461bcd60e51b815260206004820152600260248201526114d560f21b6044820152606401610191565b5050505050565b5f6020828403121561046d575f80fd5b81356001600160a01b0381168114610483575f80fd5b9392505050565b5f6020828403121561049a575f80fd5b5051919050565b808201808211156104c057634e487b7160e01b5f52601160045260245ffd5b92915050565b5f82515f5b818110156104e557602081860181015185830152016104cb565b505f920191825250919050565b5f60208284031215610502575f80fd5b81518015158114610483575f80fdfea2646970667358221220e12ee92ffba771577828a3c7846b0a6eafa45881ceeb359a598bb2e8b08cec8964736f6c634300081500330000000000000000000000007122985656e38bdc0302db86685bb972b145bd3c000000000000000000000000a62f9c5af106feee069f38de51098d9d81b90572000000000000000000000000147a198d803d4a02b8bec7cc78be1abe0c3d93e5

Deployed Bytecode

0x608060405260043610610049575f3560e01c80630167eb851461004d57806340c43eff1461009d578063521eb273146100d6578063f340fa0114610109578063fbfa77cf1461011c575b5f80fd5b348015610058575f80fd5b506100807f0000000000000000000000007122985656e38bdc0302db86685bb972b145bd3c81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100a8575f80fd5b506100c86100b736600461045d565b60016020525f908152604090205481565b604051908152602001610094565b3480156100e1575f80fd5b506100807f000000000000000000000000147a198d803d4a02b8bec7cc78be1abe0c3d93e581565b6100c861011736600461045d565b61014f565b348015610127575f80fd5b506100807f000000000000000000000000a62f9c5af106feee069f38de51098d9d81b9057281565b5f61015861030b565b5f341161019a5760405162461bcd60e51b815260206004820152600b60248201526a16915493c8105b5bdd5b9d60aa1b60448201526064015b60405180910390fd5b5f7f000000000000000000000000a62f9c5af106feee069f38de51098d9d81b905729050806001600160a01b031663d0e30db0346040518263ffffffff1660e01b815260040160206040518083038185885af11580156101fc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610221919061048a565b915061026e7f0000000000000000000000007122985656e38bdc0302db86685bb972b145bd3c7f000000000000000000000000147a198d803d4a02b8bec7cc78be1abe0c3d93e584610362565b335f908152600160205260408120805434929061028c9084906104a1565b909155505060408051348152602081018490526001600160a01b037f000000000000000000000000147a198d803d4a02b8bec7cc78be1abe0c3d93e58116929086169133917fbb4c1ad7429e95f013be0d74b97dfe0307ecb8f3072c5684d1bdab6ce0132ab1910160405180910390a45061030660015f55565b919050565b60025f540361035c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610191565b60025f55565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f928392908716916103bd91906104c6565b5f604051808303815f865af19150503d805f81146103f6576040519150601f19603f3d011682016040523d82523d5f602084013e6103fb565b606091505b509150915081801561042557508051158061042557508080602001905181019061042591906104f2565b6104565760405162461bcd60e51b815260206004820152600260248201526114d560f21b6044820152606401610191565b5050505050565b5f6020828403121561046d575f80fd5b81356001600160a01b0381168114610483575f80fd5b9392505050565b5f6020828403121561049a575f80fd5b5051919050565b808201808211156104c057634e487b7160e01b5f52601160045260245ffd5b92915050565b5f82515f5b818110156104e557602081860181015185830152016104cb565b505f920191825250919050565b5f60208284031215610502575f80fd5b81518015158114610483575f80fdfea2646970667358221220e12ee92ffba771577828a3c7846b0a6eafa45881ceeb359a598bb2e8b08cec8964736f6c63430008150033

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

0000000000000000000000007122985656e38bdc0302db86685bb972b145bd3c000000000000000000000000a62f9c5af106feee069f38de51098d9d81b90572000000000000000000000000147a198d803d4a02b8bec7cc78be1abe0c3d93e5

-----Decoded View---------------
Arg [0] : _stone (address): 0x7122985656e38BDC0302Db86685bb972b145bD3C
Arg [1] : _vault (address): 0xA62F9C5af106FeEE069F38dE51098D9d81B90572
Arg [2] : _wallet (address): 0x147A198d803D4a02b8bEc7CC78be1AbE0C3d93E5

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000007122985656e38bdc0302db86685bb972b145bd3c
Arg [1] : 000000000000000000000000a62f9c5af106feee069f38de51098d9d81b90572
Arg [2] : 000000000000000000000000147a198d803d4a02b8bec7cc78be1abe0c3d93e5


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.