Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 25 from a total of 342 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
Amount
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Deposit | 1606935 | 4 hrs ago | IN | 64 ETH | 0.0001392 | ||||
| Deposit | 1606105 | 6 hrs ago | IN | 100 ETH | 0.00009655 | ||||
| Deposit | 1591346 | 2 days ago | IN | 32 ETH | 0.00008938 | ||||
| Deposit | 1573978 | 5 days ago | IN | 100 ETH | 0.00008502 | ||||
| Deposit | 1568779 | 5 days ago | IN | 100 ETH | 0.00007559 | ||||
| Deposit | 1555830 | 7 days ago | IN | 2,048 ETH | 0.00008187 | ||||
| Deposit | 1555825 | 7 days ago | IN | 2,048 ETH | 0.00007284 | ||||
| Deposit | 1555823 | 7 days ago | IN | 2,048 ETH | 0.00010162 | ||||
| Deposit | 1512934 | 14 days ago | IN | 100 ETH | 0.00013689 | ||||
| Deposit | 1511020 | 14 days ago | IN | 320 ETH | 0.00072275 | ||||
| Deposit | 1506693 | 15 days ago | IN | 100 ETH | 0.00012851 | ||||
| Deposit | 1453813 | 23 days ago | IN | 100 ETH | 0.00022781 | ||||
| Deposit | 1431774 | 26 days ago | IN | 68 ETH | 0.00022332 | ||||
| Deposit | 1425001 | 27 days ago | IN | 35 ETH | 0.00007249 | ||||
| Deposit | 1424719 | 27 days ago | IN | 35 ETH | 0.00008503 | ||||
| Deposit | 1419764 | 28 days ago | IN | 64 ETH | 0.00015184 | ||||
| Deposit | 1379188 | 34 days ago | IN | 228 ETH | 0.00026724 | ||||
| Deposit | 1379186 | 34 days ago | IN | 32 ETH | 0.00016791 | ||||
| Deposit | 1379176 | 34 days ago | IN | 32 ETH | 0.00014424 | ||||
| Deposit | 1377813 | 34 days ago | IN | 64 ETH | 0.00021655 | ||||
| Deposit | 1377777 | 34 days ago | IN | 120 ETH | 0.0002238 | ||||
| Deposit | 1338721 | 40 days ago | IN | 35 ETH | 0.00008563 | ||||
| Deposit | 1333678 | 41 days ago | IN | 96 ETH | 0.00017838 | ||||
| Deposit | 1313882 | 44 days ago | IN | 70 ETH | 0.00026938 | ||||
| Deposit | 1292901 | 47 days ago | IN | 32 ETH | 0.00008374 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
To
|
Amount
|
||
|---|---|---|---|---|---|---|---|
| Transfer* | 1606935 | 4 hrs ago | 32 ETH | ||||
| Transfer* | 1606935 | 4 hrs ago | 32 ETH | ||||
| Transfer* | 1606105 | 6 hrs ago | 100 ETH | ||||
| Transfer* | 1591346 | 2 days ago | 32 ETH | ||||
| Transfer* | 1573978 | 5 days ago | 100 ETH | ||||
| Transfer* | 1568779 | 5 days ago | 100 ETH | ||||
| Transfer* | 1555830 | 7 days ago | 2,048 ETH | ||||
| Transfer* | 1555825 | 7 days ago | 2,048 ETH | ||||
| Transfer* | 1555823 | 7 days ago | 2,048 ETH | ||||
| Transfer* | 1512934 | 14 days ago | 100 ETH | ||||
| Transfer* | 1511020 | 14 days ago | 32 ETH | ||||
| Transfer* | 1511020 | 14 days ago | 32 ETH | ||||
| Transfer* | 1511020 | 14 days ago | 32 ETH | ||||
| Transfer* | 1511020 | 14 days ago | 32 ETH | ||||
| Transfer* | 1511020 | 14 days ago | 32 ETH | ||||
| Transfer* | 1511020 | 14 days ago | 32 ETH | ||||
| Transfer* | 1511020 | 14 days ago | 32 ETH | ||||
| Transfer* | 1511020 | 14 days ago | 32 ETH | ||||
| Transfer* | 1511020 | 14 days ago | 32 ETH | ||||
| Transfer* | 1511020 | 14 days ago | 32 ETH | ||||
| Transfer* | 1506693 | 15 days ago | 50 ETH | ||||
| Transfer* | 1506693 | 15 days ago | 50 ETH | ||||
| Transfer* | 1453813 | 23 days ago | 50 ETH | ||||
| Transfer* | 1453813 | 23 days ago | 50 ETH | ||||
| Transfer* | 1431774 | 26 days ago | 34 ETH |
Loading...
Loading
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
BatchValidatorDepositor
Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
/*
* Electra-compatible batch validator deposit contract.
*
* Based on the Abyss ETH2 depositor.
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/Pausable.sol";
import "../contracts/interfaces/IDepositContract.sol";
contract BatchValidatorDepositor is Pausable, Ownable {
/**
* @dev Eth2 Deposit Contract address.
*/
IDepositContract public depositContract;
/**
* @dev Minimal and maximum amount of nodes per transaction.
*/
uint256 public constant nodesMinAmount = 1;
uint256 public constant nodesMaxAmount = 100;
uint256 public constant pubkeyLength = 48;
uint256 public constant credentialsLength = 32;
uint256 public constant signatureLength = 96;
/**
* @dev Setting Eth2 Smart Contract address during construction.
*/
constructor(bool mainnet, address depositContract_) Ownable(msg.sender) {
if (mainnet == true) {
depositContract = IDepositContract(0x00000000219ab540356cBB839Cbe05303d7705Fa);
} else if (depositContract_ == 0x0000000000000000000000000000000000000000) {
depositContract = IDepositContract(0x8c5fecdC472E27Bc447696F431E425D02dd46a8c);
} else {
depositContract = IDepositContract(depositContract_);
}
}
/**
* @dev This contract will not accept direct ETH transactions.
*/
receive() external payable {
revert("BatchValidatorDepositor: do not send ETH directly here");
}
/**
* @dev Function that allows to deposit up to 100 nodes at once.
*
* - pubkeys - Array of BLS12-381 public keys.
* - withdrawal_credentials - Array of commitments to a public keys for withdrawals.
* - signatures - Array of BLS12-381 signatures.
* - deposit_data_roots - Array of the SHA-256 hashes of the SSZ-encoded DepositData objects.
* - collateral - Array of the Wei amounts to be deposited with each request.
*/
function deposit(
bytes[] calldata pubkeys,
bytes[] calldata withdrawal_credentials,
bytes[] calldata signatures,
bytes32[] calldata deposit_data_roots,
uint256[] calldata collateral
) external payable whenNotPaused {
uint256 nodesAmount = pubkeys.length;
require(nodesAmount >= nodesMinAmount && nodesAmount <= nodesMaxAmount, "BatchValidatorDepositor: you can deposit only 1 to 100 nodes per transaction");
require(
withdrawal_credentials.length == nodesAmount &&
signatures.length == nodesAmount &&
deposit_data_roots.length == nodesAmount &&
collateral.length == nodesAmount,
"BatchValidatorDepositor: amount of parameters do not match");
uint256 totalCollateral = 0;
for (uint256 i = 0; i < collateral.length; ++i) {
totalCollateral += collateral[i];
}
require(msg.value == totalCollateral, "BatchValidatorDepositor: provided ETH does not match required ETH");
for (uint256 i = 0; i < nodesAmount; ++i) {
require(pubkeys[i].length == pubkeyLength, "BatchValidatorDepositor: incorrect pubkey length");
require(withdrawal_credentials[i].length == credentialsLength, "BatchValidatorDepositor: incorrect withdrawal credentials length");
require(signatures[i].length == signatureLength, "BatchValidatorDepositor: incorrect signature length");
IDepositContract(address(depositContract)).deposit{value: collateral[i]}(
pubkeys[i],
withdrawal_credentials[i],
signatures[i],
deposit_data_roots[i]
);
}
emit DepositEvent(msg.sender, nodesAmount, msg.value);
}
/**
* @dev Triggers stopped state.
*
* Requirements:
*
* - The contract must not be paused.
*/
function pause() public onlyOwner {
_pause();
}
/**
* @dev Returns to normal state.
*
* Requirements:
*
* - The contract must be paused.
*/
function unpause() public onlyOwner {
_unpause();
}
event DepositEvent(address from, uint256 nodesAmount, uint256 totalCollateral);
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
pragma solidity ^0.8.20;
import {Context} from "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* The initial owner is set to the address provided by the deployer. This can
* later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
/**
* @dev The caller account is not authorized to perform an operation.
*/
error OwnableUnauthorizedAccount(address account);
/**
* @dev The owner is not a valid owner account. (eg. `address(0)`)
*/
error OwnableInvalidOwner(address owner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the address provided by the deployer as the initial owner.
*/
constructor(address initialOwner) {
if (initialOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(initialOwner);
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
if (owner() != _msgSender()) {
revert OwnableUnauthorizedAccount(_msgSender());
}
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
if (newOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)
pragma solidity ^0.8.20;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
function _contextSuffixLength() internal view virtual returns (uint256) {
return 0;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/Pausable.sol)
pragma solidity ^0.8.20;
import {Context} from "../utils/Context.sol";
/**
* @dev Contract module which allows children to implement an emergency stop
* mechanism that can be triggered by an authorized account.
*
* This module is used through inheritance. It will make available the
* modifiers `whenNotPaused` and `whenPaused`, which can be applied to
* the functions of your contract. Note that they will not be pausable by
* simply including this module, only once the modifiers are put in place.
*/
abstract contract Pausable is Context {
bool private _paused;
/**
* @dev Emitted when the pause is triggered by `account`.
*/
event Paused(address account);
/**
* @dev Emitted when the pause is lifted by `account`.
*/
event Unpaused(address account);
/**
* @dev The operation failed because the contract is paused.
*/
error EnforcedPause();
/**
* @dev The operation failed because the contract is not paused.
*/
error ExpectedPause();
/**
* @dev Initializes the contract in unpaused state.
*/
constructor() {
_paused = false;
}
/**
* @dev Modifier to make a function callable only when the contract is not paused.
*
* Requirements:
*
* - The contract must not be paused.
*/
modifier whenNotPaused() {
_requireNotPaused();
_;
}
/**
* @dev Modifier to make a function callable only when the contract is paused.
*
* Requirements:
*
* - The contract must be paused.
*/
modifier whenPaused() {
_requirePaused();
_;
}
/**
* @dev Returns true if the contract is paused, and false otherwise.
*/
function paused() public view virtual returns (bool) {
return _paused;
}
/**
* @dev Throws if the contract is paused.
*/
function _requireNotPaused() internal view virtual {
if (paused()) {
revert EnforcedPause();
}
}
/**
* @dev Throws if the contract is not paused.
*/
function _requirePaused() internal view virtual {
if (!paused()) {
revert ExpectedPause();
}
}
/**
* @dev Triggers stopped state.
*
* Requirements:
*
* - The contract must not be paused.
*/
function _pause() internal virtual whenNotPaused {
_paused = true;
emit Paused(_msgSender());
}
/**
* @dev Returns to normal state.
*
* Requirements:
*
* - The contract must be paused.
*/
function _unpause() internal virtual whenPaused {
_paused = false;
emit Unpaused(_msgSender());
}
}// SPDX-License-Identifier: CC0-1.0
pragma solidity ^0.8.0;
// This interface is designed to be compatible with the Vyper version.
/// @notice This is the Ethereum 2.0 deposit contract interface.
/// For more information see the Phase 0 specification under https://github.com/ethereum/eth2.0-specs
interface IDepositContract {
/// @notice A processed deposit event.
event DepositEvent(
bytes pubkey,
bytes withdrawal_credentials,
bytes amount,
bytes signature,
bytes index
);
/// @notice Submit a Phase 0 DepositData object.
/// @param pubkey A BLS12-381 public key.
/// @param withdrawal_credentials Commitment to a public key for withdrawals.
/// @param signature A BLS12-381 signature.
/// @param deposit_data_root The SHA-256 hash of the SSZ-encoded DepositData object.
/// Used as a protection against malformed input.
function deposit(
bytes calldata pubkey,
bytes calldata withdrawal_credentials,
bytes calldata signature,
bytes32 deposit_data_root
) external payable;
/// @notice Query the current deposit root hash.
/// @return The deposit root hash.
function get_deposit_root() external view returns (bytes32);
/// @notice Query the current deposit count.
/// @return The deposit count encoded as a little endian 64-bit number.
function get_deposit_count() external view returns (bytes memory);
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"evmVersion": "paris",
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract ABI
API[{"inputs":[{"internalType":"bool","name":"mainnet","type":"bool"},{"internalType":"address","name":"depositContract_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"nodesAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalCollateral","type":"uint256"}],"name":"DepositEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"credentialsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes[]","name":"pubkeys","type":"bytes[]"},{"internalType":"bytes[]","name":"withdrawal_credentials","type":"bytes[]"},{"internalType":"bytes[]","name":"signatures","type":"bytes[]"},{"internalType":"bytes32[]","name":"deposit_data_roots","type":"bytes32[]"},{"internalType":"uint256[]","name":"collateral","type":"uint256[]"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"depositContract","outputs":[{"internalType":"contract IDepositContract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nodesMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nodesMinAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pubkeyLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"signatureLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405234801561001057600080fd5b50604051610df6380380610df683398101604081905261002f91610152565b6000805460ff19169055338061005f57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b610068816100f9565b5081151560010361009a57600180546001600160a01b0319166f219ab540356cbb839cbe05303d7705fa1790556100f2565b6001600160a01b0381166000036100d657600180546001600160a01b031916738c5fecdc472e27bc447696f431e425d02dd46a8c1790556100f2565b600180546001600160a01b0319166001600160a01b0383161790555b505061019d565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6000806040838503121561016557600080fd5b8251801515811461017557600080fd5b60208401519092506001600160a01b038116811461019257600080fd5b809150509250929050565b610c4a806101ac6000396000f3fe6080604052600436106100c65760003560e01c80638456cb591161007f578063c09bb1db11610059578063c09bb1db1461023e578063e94ad65b14610251578063f2fde38b14610271578063f4fbdfac1461029157600080fd5b80638456cb59146101dd5780638da5cb5b146101f2578063a5ab1d311461022957600080fd5b80631b9a93231461013c5780633f4ba83a1461016457806343ba591d1461017b5780634903e8be146101905780635c975abb146101a5578063715018a6146101c857600080fd5b366101375760405162461bcd60e51b815260206004820152603660248201527f426174636856616c696461746f724465706f7369746f723a20646f206e6f742060448201527573656e6420455448206469726563746c79206865726560501b60648201526084015b60405180910390fd5b600080fd5b34801561014857600080fd5b50610151606081565b6040519081526020015b60405180910390f35b34801561017057600080fd5b506101796102a6565b005b34801561018757600080fd5b50610151606481565b34801561019c57600080fd5b50610151603081565b3480156101b157600080fd5b5060005460ff16604051901515815260200161015b565b3480156101d457600080fd5b506101796102b8565b3480156101e957600080fd5b506101796102ca565b3480156101fe57600080fd5b5060005461010090046001600160a01b03165b6040516001600160a01b03909116815260200161015b565b34801561023557600080fd5b50610151602081565b61017961024c3660046109db565b6102da565b34801561025d57600080fd5b50600154610211906001600160a01b031681565b34801561027d57600080fd5b5061017961028c366004610ae6565b6107ef565b34801561029d57600080fd5b50610151600181565b6102ae61082d565b6102b6610860565b565b6102c061082d565b6102b660006108b2565b6102d261082d565b6102b661090b565b6102e2610948565b88600181108015906102f5575060648111155b61037c5760405162461bcd60e51b815260206004820152604c60248201527f426174636856616c696461746f724465706f7369746f723a20796f752063616e60448201527f206465706f736974206f6e6c79203120746f20313030206e6f6465732070657260648201526b103a3930b739b0b1ba34b7b760a11b608482015260a40161012e565b878114801561038a57508581145b801561039557508381145b80156103a057508181145b6104125760405162461bcd60e51b815260206004820152603a60248201527f426174636856616c696461746f724465706f7369746f723a20616d6f756e742060448201527f6f6620706172616d657465727320646f206e6f74206d61746368000000000000606482015260840161012e565b6000805b8381101561044c5784848281811061043057610430610b16565b90506020020135826104429190610b2c565b9150600101610416565b508034146104cc5760405162461bcd60e51b815260206004820152604160248201527f426174636856616c696461746f724465706f7369746f723a2070726f7669646560448201527f642045544820646f6573206e6f74206d617463682072657175697265642045546064820152600960fb1b608482015260a40161012e565b60005b828110156107a15760308d8d838181106104eb576104eb610b16565b90506020028101906104fd9190610b53565b9050146105655760405162461bcd60e51b815260206004820152603060248201527f426174636856616c696461746f724465706f7369746f723a20696e636f72726560448201526f0c6e840e0eac4d6caf240d8cadccee8d60831b606482015260840161012e565b60208b8b8381811061057957610579610b16565b905060200281019061058b9190610b53565b905014610602576040805162461bcd60e51b81526020600482015260248101919091527f426174636856616c696461746f724465706f7369746f723a20696e636f72726560448201527f6374207769746864726177616c2063726564656e7469616c73206c656e677468606482015260840161012e565b606089898381811061061657610616610b16565b90506020028101906106289190610b53565b9050146106935760405162461bcd60e51b815260206004820152603360248201527f426174636856616c696461746f724465706f7369746f723a20696e636f7272656044820152720c6e840e6d2cedcc2e8eae4ca40d8cadccee8d606b1b606482015260840161012e565b6001546001600160a01b031663228951188686848181106106b6576106b6610b16565b905060200201358f8f858181106106cf576106cf610b16565b90506020028101906106e19190610b53565b8f8f878181106106f3576106f3610b16565b90506020028101906107059190610b53565b8f8f8981811061071757610717610b16565b90506020028101906107299190610b53565b8f8f8b81811061073b5761073b610b16565b905060200201356040518963ffffffff1660e01b81526004016107649796959493929190610bc3565b6000604051808303818588803b15801561077d57600080fd5b505af1158015610791573d6000803e3d6000fd5b50505050508060010190506104cf565b506040805133815260208101849052348183015290517fad40ae5dc69974ba932d08b0a608e89109412d41d04850f5196f144875ae26609181900360600190a1505050505050505050505050565b6107f761082d565b6001600160a01b03811661082157604051631e4fbdf760e01b81526000600482015260240161012e565b61082a816108b2565b50565b6000546001600160a01b036101009091041633146102b65760405163118cdaa760e01b815233600482015260240161012e565b61086861096c565b6000805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610913610948565b6000805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586108953390565b60005460ff16156102b65760405163d93c066560e01b815260040160405180910390fd5b60005460ff166102b657604051638dfc202b60e01b815260040160405180910390fd5b60008083601f8401126109a157600080fd5b50813567ffffffffffffffff8111156109b957600080fd5b6020830191508360208260051b85010111156109d457600080fd5b9250929050565b60008060008060008060008060008060a08b8d0312156109fa57600080fd5b8a3567ffffffffffffffff811115610a1157600080fd5b610a1d8d828e0161098f565b909b5099505060208b013567ffffffffffffffff811115610a3d57600080fd5b610a498d828e0161098f565b90995097505060408b013567ffffffffffffffff811115610a6957600080fd5b610a758d828e0161098f565b90975095505060608b013567ffffffffffffffff811115610a9557600080fd5b610aa18d828e0161098f565b90955093505060808b013567ffffffffffffffff811115610ac157600080fd5b610acd8d828e0161098f565b915080935050809150509295989b9194979a5092959850565b600060208284031215610af857600080fd5b81356001600160a01b0381168114610b0f57600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b80820180821115610b4d57634e487b7160e01b600052601160045260246000fd5b92915050565b6000808335601e19843603018112610b6a57600080fd5b83018035915067ffffffffffffffff821115610b8557600080fd5b6020019150368190038213156109d457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000610bd760808301898b610b9a565b8281036020840152610bea81888a610b9a565b90508281036040840152610bff818688610b9a565b9150508260608301529897505050505050505056fea26469706673582212206b3e6c9b09cacbcce41335f86ceffb2dc0790cea9b7a4babef22fcb4b38c1cf964736f6c634300081c0033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000219ab540356cbb839cbe05303d7705fa
Deployed Bytecode
0x6080604052600436106100c65760003560e01c80638456cb591161007f578063c09bb1db11610059578063c09bb1db1461023e578063e94ad65b14610251578063f2fde38b14610271578063f4fbdfac1461029157600080fd5b80638456cb59146101dd5780638da5cb5b146101f2578063a5ab1d311461022957600080fd5b80631b9a93231461013c5780633f4ba83a1461016457806343ba591d1461017b5780634903e8be146101905780635c975abb146101a5578063715018a6146101c857600080fd5b366101375760405162461bcd60e51b815260206004820152603660248201527f426174636856616c696461746f724465706f7369746f723a20646f206e6f742060448201527573656e6420455448206469726563746c79206865726560501b60648201526084015b60405180910390fd5b600080fd5b34801561014857600080fd5b50610151606081565b6040519081526020015b60405180910390f35b34801561017057600080fd5b506101796102a6565b005b34801561018757600080fd5b50610151606481565b34801561019c57600080fd5b50610151603081565b3480156101b157600080fd5b5060005460ff16604051901515815260200161015b565b3480156101d457600080fd5b506101796102b8565b3480156101e957600080fd5b506101796102ca565b3480156101fe57600080fd5b5060005461010090046001600160a01b03165b6040516001600160a01b03909116815260200161015b565b34801561023557600080fd5b50610151602081565b61017961024c3660046109db565b6102da565b34801561025d57600080fd5b50600154610211906001600160a01b031681565b34801561027d57600080fd5b5061017961028c366004610ae6565b6107ef565b34801561029d57600080fd5b50610151600181565b6102ae61082d565b6102b6610860565b565b6102c061082d565b6102b660006108b2565b6102d261082d565b6102b661090b565b6102e2610948565b88600181108015906102f5575060648111155b61037c5760405162461bcd60e51b815260206004820152604c60248201527f426174636856616c696461746f724465706f7369746f723a20796f752063616e60448201527f206465706f736974206f6e6c79203120746f20313030206e6f6465732070657260648201526b103a3930b739b0b1ba34b7b760a11b608482015260a40161012e565b878114801561038a57508581145b801561039557508381145b80156103a057508181145b6104125760405162461bcd60e51b815260206004820152603a60248201527f426174636856616c696461746f724465706f7369746f723a20616d6f756e742060448201527f6f6620706172616d657465727320646f206e6f74206d61746368000000000000606482015260840161012e565b6000805b8381101561044c5784848281811061043057610430610b16565b90506020020135826104429190610b2c565b9150600101610416565b508034146104cc5760405162461bcd60e51b815260206004820152604160248201527f426174636856616c696461746f724465706f7369746f723a2070726f7669646560448201527f642045544820646f6573206e6f74206d617463682072657175697265642045546064820152600960fb1b608482015260a40161012e565b60005b828110156107a15760308d8d838181106104eb576104eb610b16565b90506020028101906104fd9190610b53565b9050146105655760405162461bcd60e51b815260206004820152603060248201527f426174636856616c696461746f724465706f7369746f723a20696e636f72726560448201526f0c6e840e0eac4d6caf240d8cadccee8d60831b606482015260840161012e565b60208b8b8381811061057957610579610b16565b905060200281019061058b9190610b53565b905014610602576040805162461bcd60e51b81526020600482015260248101919091527f426174636856616c696461746f724465706f7369746f723a20696e636f72726560448201527f6374207769746864726177616c2063726564656e7469616c73206c656e677468606482015260840161012e565b606089898381811061061657610616610b16565b90506020028101906106289190610b53565b9050146106935760405162461bcd60e51b815260206004820152603360248201527f426174636856616c696461746f724465706f7369746f723a20696e636f7272656044820152720c6e840e6d2cedcc2e8eae4ca40d8cadccee8d606b1b606482015260840161012e565b6001546001600160a01b031663228951188686848181106106b6576106b6610b16565b905060200201358f8f858181106106cf576106cf610b16565b90506020028101906106e19190610b53565b8f8f878181106106f3576106f3610b16565b90506020028101906107059190610b53565b8f8f8981811061071757610717610b16565b90506020028101906107299190610b53565b8f8f8b81811061073b5761073b610b16565b905060200201356040518963ffffffff1660e01b81526004016107649796959493929190610bc3565b6000604051808303818588803b15801561077d57600080fd5b505af1158015610791573d6000803e3d6000fd5b50505050508060010190506104cf565b506040805133815260208101849052348183015290517fad40ae5dc69974ba932d08b0a608e89109412d41d04850f5196f144875ae26609181900360600190a1505050505050505050505050565b6107f761082d565b6001600160a01b03811661082157604051631e4fbdf760e01b81526000600482015260240161012e565b61082a816108b2565b50565b6000546001600160a01b036101009091041633146102b65760405163118cdaa760e01b815233600482015260240161012e565b61086861096c565b6000805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610913610948565b6000805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586108953390565b60005460ff16156102b65760405163d93c066560e01b815260040160405180910390fd5b60005460ff166102b657604051638dfc202b60e01b815260040160405180910390fd5b60008083601f8401126109a157600080fd5b50813567ffffffffffffffff8111156109b957600080fd5b6020830191508360208260051b85010111156109d457600080fd5b9250929050565b60008060008060008060008060008060a08b8d0312156109fa57600080fd5b8a3567ffffffffffffffff811115610a1157600080fd5b610a1d8d828e0161098f565b909b5099505060208b013567ffffffffffffffff811115610a3d57600080fd5b610a498d828e0161098f565b90995097505060408b013567ffffffffffffffff811115610a6957600080fd5b610a758d828e0161098f565b90975095505060608b013567ffffffffffffffff811115610a9557600080fd5b610aa18d828e0161098f565b90955093505060808b013567ffffffffffffffff811115610ac157600080fd5b610acd8d828e0161098f565b915080935050809150509295989b9194979a5092959850565b600060208284031215610af857600080fd5b81356001600160a01b0381168114610b0f57600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b80820180821115610b4d57634e487b7160e01b600052601160045260246000fd5b92915050565b6000808335601e19843603018112610b6a57600080fd5b83018035915067ffffffffffffffff821115610b8557600080fd5b6020019150368190038213156109d457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000610bd760808301898b610b9a565b8281036020840152610bea81888a610b9a565b90508281036040840152610bff818688610b9a565b9150508260608301529897505050505050505056fea26469706673582212206b3e6c9b09cacbcce41335f86ceffb2dc0790cea9b7a4babef22fcb4b38c1cf964736f6c634300081c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000219ab540356cbb839cbe05303d7705fa
-----Decoded View---------------
Arg [0] : mainnet (bool): False
Arg [1] : depositContract_ (address): 0x00000000219ab540356cBB839Cbe05303d7705Fa
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa
Loading...
Loading
Loading...
Loading
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.