ETH Price: $2,142.01 (-2.35%)

Contract

0xA21BA89d28A4E082C12f4B3F38541b341BdbF73f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Buy Request212909442024-11-29 4:23:11475 days ago1732854191IN
0xA21BA89d...41BdbF73f
0.01 ETH0.000512875.4
Buy Request212901152024-11-29 1:36:35475 days ago1732844195IN
0xA21BA89d...41BdbF73f
0.002813 ETH0.000502486.45133704
Buy Request212901002024-11-29 1:33:35475 days ago1732844015IN
0xA21BA89d...41BdbF73f
0 ETH0.000588676.15895795
Buy Request212865962024-11-28 13:48:23476 days ago1732801703IN
0xA21BA89d...41BdbF73f
0 ETH0.0011059611.57110305
Buy Request212864692024-11-28 13:22:59476 days ago1732800179IN
0xA21BA89d...41BdbF73f
0 ETH0.000889819.30962227
Buy Request212850052024-11-28 8:28:23476 days ago1732782503IN
0xA21BA89d...41BdbF73f
0 ETH0.000669497.00456729
Buy Request212849862024-11-28 8:24:35476 days ago1732782275IN
0xA21BA89d...41BdbF73f
0 ETH0.001006967.98072182
Buy Request212849202024-11-28 8:11:23476 days ago1732781483IN
0xA21BA89d...41BdbF73f
0.005565 ETH0.000727529.3405945
Buy Request212847552024-11-28 7:38:11476 days ago1732779491IN
0xA21BA89d...41BdbF73f
0.005563 ETH0.000758677.9870264
Buy Request212846952024-11-28 7:25:59476 days ago1732778759IN
0xA21BA89d...41BdbF73f
0.000556 ETH0.000549477.05453702
Buy Request212846782024-11-28 7:22:35476 days ago1732778555IN
0xA21BA89d...41BdbF73f
0.000278 ETH0.000984717.18367005

Latest 12 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer212909442024-11-29 4:23:11475 days ago1732854191
0xA21BA89d...41BdbF73f
0.00995 ETH
Transfer212909442024-11-29 4:23:11475 days ago1732854191
0xA21BA89d...41BdbF73f
0.00005 ETH
Transfer212901152024-11-29 1:36:35475 days ago1732844195
0xA21BA89d...41BdbF73f
0.00279893 ETH
Transfer212901152024-11-29 1:36:35475 days ago1732844195
0xA21BA89d...41BdbF73f
0.00001406 ETH
Transfer212849202024-11-28 8:11:23476 days ago1732781483
0xA21BA89d...41BdbF73f
0.00553717 ETH
Transfer212849202024-11-28 8:11:23476 days ago1732781483
0xA21BA89d...41BdbF73f
0.00002782 ETH
Transfer212847552024-11-28 7:38:11476 days ago1732779491
0xA21BA89d...41BdbF73f
0.00553518 ETH
Transfer212847552024-11-28 7:38:11476 days ago1732779491
0xA21BA89d...41BdbF73f
0.00002781 ETH
Transfer212846952024-11-28 7:25:59476 days ago1732778759
0xA21BA89d...41BdbF73f
0.00055322 ETH
Transfer212846952024-11-28 7:25:59476 days ago1732778759
0xA21BA89d...41BdbF73f
0.00000278 ETH
Transfer212846782024-11-28 7:22:35476 days ago1732778555
0xA21BA89d...41BdbF73f
0.00027661 ETH
Transfer212846782024-11-28 7:22:35476 days ago1732778555
0xA21BA89d...41BdbF73f
0.00000139 ETH
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

Contract Source Code Verified (Exact Match)

Contract Name:
RBNTPresaleETH

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
london EvmVersion
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0 <0.9.0;

interface IERC20 {
  event Transfer(address indexed from, address indexed to, uint256 value);
  event Approval(address indexed owner, address indexed spender, uint256 value);

  function totalSupply() external view returns (uint256);
  function balanceOf(address account) external view returns (uint256);
  function transfer(address to, uint256 amount) external returns (bool);
  function allowance(address owner, address spender) external view returns (uint256);
  function approve(address spender, uint256 amount) external returns (bool);
  function transferFrom(
    address from,
    address to,
    uint256 amount
  ) external returns (bool);
}

interface IERC20Permit {
  function permit(
    address owner,
    address spender,
    uint256 value,
    uint256 deadline,
    uint8 v,
    bytes32 r,
    bytes32 s
  ) external;
  function nonces(address owner) external view returns (uint256);
  function DOMAIN_SEPARATOR() external view returns (bytes32);
}

library Address {
  function isContract(address account) internal view returns (bool) {
    return account.code.length > 0;
  }

  function sendValue(address payable recipient, uint256 amount) internal {
    require(address(this).balance >= amount, "Address: insufficient balance");

    (bool success, ) = recipient.call{value: amount}("");
    require(success, "Address: unable to send value, recipient may have reverted");
  }

  function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCallWithValue(target, data, 0, "Address: low-level call failed");
  }

  function functionCall(
      address target,
      bytes memory data,
      string memory errorMessage
  ) internal returns (bytes memory) {
      return functionCallWithValue(target, data, 0, errorMessage);
  }

  function functionCallWithValue(
      address target,
      bytes memory data,
      uint256 value
  ) internal returns (bytes memory) {
    return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
  }

  function functionCallWithValue(
    address target,
    bytes memory data,
    uint256 value,
    string memory errorMessage
  ) internal returns (bytes memory) {
    require(address(this).balance >= value, "Address: insufficient balance for call");
    (bool success, bytes memory returndata) = target.call{value: value}(data);
    return verifyCallResultFromTarget(target, success, returndata, errorMessage);
  }

  function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
    return functionStaticCall(target, data, "Address: low-level static call failed");
  }

  function functionStaticCall(
    address target,
    bytes memory data,
    string memory errorMessage
  ) internal view returns (bytes memory) {
    (bool success, bytes memory returndata) = target.staticcall(data);
    return verifyCallResultFromTarget(target, success, returndata, errorMessage);
  }

  function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
    return functionDelegateCall(target, data, "Address: low-level delegate call failed");
  }

  function functionDelegateCall(
    address target,
    bytes memory data,
    string memory errorMessage
  ) internal returns (bytes memory) {
    (bool success, bytes memory returndata) = target.delegatecall(data);
    return verifyCallResultFromTarget(target, success, returndata, errorMessage);
  }

  function verifyCallResultFromTarget(
    address target,
    bool success,
    bytes memory returndata,
    string memory errorMessage
  ) internal view returns (bytes memory) {
    if (success) {
      if (returndata.length == 0) {
        require(isContract(target), "Address: call to non-contract");
      }
      return returndata;
    } else {
      _revert(errorMessage);
    }
  }

  function verifyCallResult(
    bool success,
    bytes memory returndata,
    string memory errorMessage
  ) internal pure returns (bytes memory) {
    if (success) {
      return returndata;
    } else {
      _revert(errorMessage);
    }
  }

  function _revert(string memory errorMessage) private pure {
    revert(errorMessage);
  }
}

library SafeERC20 {
  using Address for address;

  function safeTransfer(
    IERC20 token,
    address to,
    uint256 value
  ) internal {
    _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
  }

  function safeTransferFrom(
    IERC20 token,
    address from,
    address to,
    uint256 value
  ) internal {
    _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
  }

  function safeApprove(
    IERC20 token,
    address spender,
    uint256 value
  ) internal {
    require(
      (value == 0) || (token.allowance(address(this), spender) == 0),
      "SafeERC20: approve from non-zero to non-zero allowance"
    );
    _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
  }

  function safeIncreaseAllowance(
    IERC20 token,
    address spender,
    uint256 value
  ) internal {
    uint256 newAllowance = token.allowance(address(this), spender) + value;
    _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
  }

  function safeDecreaseAllowance(
    IERC20 token,
    address spender,
    uint256 value
  ) internal {
    unchecked {
      uint256 oldAllowance = token.allowance(address(this), spender);
      require(oldAllowance >= value, "SafeERC20: decreased allowance below zero");
      uint256 newAllowance = oldAllowance - value;
      _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }
  }

  function safePermit(
    IERC20Permit token,
    address owner,
    address spender,
    uint256 value,
    uint256 deadline,
    uint8 v,
    bytes32 r,
    bytes32 s
  ) internal {
    uint256 nonceBefore = token.nonces(owner);
    token.permit(owner, spender, value, deadline, v, r, s);
    uint256 nonceAfter = token.nonces(owner);
    require(nonceAfter == nonceBefore + 1, "SafeERC20: permit did not succeed");
  }

  function _callOptionalReturn(IERC20 token, bytes memory data) private {
    bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed");
    if (returndata.length > 0) {
      require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
    }
  }
}

abstract contract ReentrancyGuard {
  uint256 private constant _NOT_ENTERED = 1;
  uint256 private constant _ENTERED = 2;

  uint256 private _status;

  constructor () {
    _status = _NOT_ENTERED;
  }
  
  modifier nonReentrant() {
    require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
    _status = _ENTERED;
    _;
    _status = _NOT_ENTERED;
  }
}

interface IEACAggregatorProxy {
  function latestAnswer() external view returns (int256);
}

contract RBNTPresaleETH is ReentrancyGuard {
  using SafeERC20 for IERC20;

  uint256 public constant walletLimit = 500 * 10**6;
  uint256 public constant totalLimit = 500000 * 10**6;
  uint256 public constant startTime = 1732773600;   // 28 Nov 2024 17:00:00 Sydney GMT+11
  uint256 public constant endTime = 1733828400;     // 10 Dec 2024 22:00:00 Sydney GMT+11
  address public constant treasury = 0x9078085DbAa87D18eE2643d9ab569Df050055E7C;
  address public constant aggregatorEth2Usd = 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419;
  address public constant usdt = 0xdAC17F958D2ee523a2206206994597C13D831ec7;
  address public constant usdc = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;
  // user wallet => request amount
  mapping (address => uint256) public userRequestAmount;
  uint256 public totalRequest = 0;
  address public constant feeWallet = 0x64dec738CFAF701f15E681E630e7060D1C86a880;
  uint256 public feePercent = 5_000;
  uint256 public feeDecimals = 1000_000;

  event BuyRequest(address user, address token, uint256 amount, uint256 amountUsd);

  modifier onlyWLTokens(address token) {
    require(
      token == address(0) || token == usdt || token == usdc,
      "RBNTPresale: Token is not a supported stable token or ETH"
    );
    _;
  }

  modifier isValidTime() {
    require(block.timestamp >= startTime, "RBNTPresale: Not started");
    require(block.timestamp <= endTime, "RBNTPresale: Ended");
    _;
  }

  function buyRequest(
    address token,
    uint256 amount
  ) public payable nonReentrant onlyWLTokens(token) isValidTime {
    require(amount > 0, "RBNTPresale: zero request amount");
    uint256 orginalAmount = amount;

    if (token != address(0)) {
      IERC20(token).safeTransferFrom(msg.sender, address(this), amount);
      uint256 fee = amount * feePercent / feeDecimals;
      if (fee > 0) {
        IERC20(token).safeTransfer(feeWallet, fee);
      }
      IERC20(token).safeTransfer(treasury, amount - fee);
    }
    else {
      require(msg.value == amount, "RBNTPresale: Wrong ETH amount");
      uint256 fee = amount * feePercent / feeDecimals;
      if (fee > 0) {
        (bool success1, ) = payable(feeWallet).call{value: fee}("");
        require(success1, "RBNTPresale: Failed send ETH to fee wallet");
      }
      (bool success2, ) = payable(treasury).call{value: amount - fee}("");
      require(success2, "RBNTPresale: Failed send ETH to treasury");

      int256 usdPrice = IEACAggregatorProxy(aggregatorEth2Usd).latestAnswer();
      amount = amount * uint256(usdPrice) / 10**8 / 10**12;
    }

    require(userRequestAmount[msg.sender] + amount <= walletLimit, "RBNTPresale: Overflow request amount");
    require(totalRequest + amount <= totalLimit, "RBNTPresale: Overflow total amount");

    userRequestAmount[msg.sender] += amount;
    totalRequest += amount;

    emit BuyRequest(msg.sender, token, orginalAmount, amount);
  }
}

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

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountUsd","type":"uint256"}],"name":"BuyRequest","type":"event"},{"inputs":[],"name":"aggregatorEth2Usd","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"buyRequest","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"endTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRequest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"usdc","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"usdt","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRequestAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"walletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

60806040526000600255611388600355620f424060045534801561002257600080fd5b506001600055610e6b806100376000396000f3fe6080604052600436106100dd5760003560e01c80637fd6f15c1161007f578063cc0f178611610059578063cc0f17861461023f578063dea54d0314610255578063f25f4b561461026a578063f2e3fa001461029257600080fd5b80637fd6f15c146101e3578063a36298c7146101f9578063aed99d3d1461021257600080fd5b80633e413bee116100bb5780633e413bee14610165578063612597451461018d57806361d027b3146101a357806378e97925146101cb57600080fd5b80632f48ab7d146100e25780633197cbb6146101275780633c8463a11461014d575b600080fd5b3480156100ee57600080fd5b5061010a73dac17f958d2ee523a2206206994597c13d831ec781565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561013357600080fd5b5061013f6367581f3081565b60405190815260200161011e565b34801561015957600080fd5b5061013f631dcd650081565b34801561017157600080fd5b5061010a73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b34801561019957600080fd5b5061013f60025481565b3480156101af57600080fd5b5061010a739078085dbaa87d18ee2643d9ab569df050055e7c81565b3480156101d757600080fd5b5061013f63674806e081565b3480156101ef57600080fd5b5061013f60035481565b34801561020557600080fd5b5061013f64746a52880081565b34801561021e57600080fd5b5061013f61022d366004610cad565b60016020526000908152604090205481565b34801561024b57600080fd5b5061013f60045481565b610268610263366004610ccf565b6102ba565b005b34801561027657600080fd5b5061010a7364dec738cfaf701f15e681e630e7060d1c86a88081565b34801561029e57600080fd5b5061010a735f4ec3df9cbd43714fe2740f5e3616155c5b841981565b600260005414156103125760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600055816001600160a01b038116158061034a57506001600160a01b03811673dac17f958d2ee523a2206206994597c13d831ec7145b8061037157506001600160a01b03811673a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48145b6103e35760405162461bcd60e51b815260206004820152603960248201527f52424e5450726573616c653a20546f6b656e206973206e6f742061207375707060448201527f6f7274656420737461626c6520746f6b656e206f7220455448000000000000006064820152608401610309565b63674806e04210156104375760405162461bcd60e51b815260206004820152601860248201527f52424e5450726573616c653a204e6f74207374617274656400000000000000006044820152606401610309565b6367581f304211156104805760405162461bcd60e51b815260206004820152601260248201527114909395141c995cd85b194e88115b99195960721b6044820152606401610309565b600082116104d05760405162461bcd60e51b815260206004820181905260248201527f52424e5450726573616c653a207a65726f207265717565737420616d6f756e746044820152606401610309565b816001600160a01b0384161561057b576104f56001600160a01b03851633308661099d565b6000600454600354856105089190610d0f565b6105129190610d2e565b90508015610542576105426001600160a01b0386167364dec738cfaf701f15e681e630e7060d1c86a88083610a0e565b610575739078085dbaa87d18ee2643d9ab569df050055e7c6105648387610d50565b6001600160a01b0388169190610a0e565b5061081d565b8234146105ca5760405162461bcd60e51b815260206004820152601d60248201527f52424e5450726573616c653a2057726f6e672045544820616d6f756e740000006044820152606401610309565b6000600454600354856105dd9190610d0f565b6105e79190610d2e565b905080156106b0576040516000907364dec738cfaf701f15e681e630e7060d1c86a8809083908381818185875af1925050503d8060008114610645576040519150601f19603f3d011682016040523d82523d6000602084013e61064a565b606091505b50509050806106ae5760405162461bcd60e51b815260206004820152602a60248201527f52424e5450726573616c653a204661696c65642073656e642045544820746f20604482015269199959481dd85b1b195d60b21b6064820152608401610309565b505b6000739078085dbaa87d18ee2643d9ab569df050055e7c6106d18387610d50565b604051600081818185875af1925050503d806000811461070d576040519150601f19603f3d011682016040523d82523d6000602084013e610712565b606091505b50509050806107745760405162461bcd60e51b815260206004820152602860248201527f52424e5450726573616c653a204661696c65642073656e642045544820746f20604482015267747265617375727960c01b6064820152608401610309565b6000735f4ec3df9cbd43714fe2740f5e3616155c5b84196001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ec9190610d67565b905064e8d4a510006305f5e1006108038389610d0f565b61080d9190610d2e565b6108179190610d2e565b95505050505b33600090815260016020526040902054631dcd65009061083e908590610d80565b11156108985760405162461bcd60e51b8152602060048201526024808201527f52424e5450726573616c653a204f766572666c6f77207265717565737420616d6044820152631bdd5b9d60e21b6064820152608401610309565b64746a528800836002546108ac9190610d80565b11156109055760405162461bcd60e51b815260206004820152602260248201527f52424e5450726573616c653a204f766572666c6f7720746f74616c20616d6f756044820152611b9d60f21b6064820152608401610309565b3360009081526001602052604081208054859290610924908490610d80565b92505081905550826002600082825461093d9190610d80565b9091555050604080513381526001600160a01b0386166020820152908101829052606081018490527fbeac2d2549dadcf7de04f6d0d6784be9b453cd95a4de64e49c6dea17962864849060800160405180910390a1505060016000555050565b6040516001600160a01b0380851660248301528316604482015260648101829052610a089085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a43565b50505050565b6040516001600160a01b038316602482015260448101829052610a3e90849063a9059cbb60e01b906064016109d1565b505050565b6000610a98826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b159092919063ffffffff16565b805190915015610a3e5780806020019051810190610ab69190610d98565b610a3e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610309565b6060610b248484600085610b2c565b949350505050565b606082471015610b8d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610309565b600080866001600160a01b03168587604051610ba99190610de6565b60006040518083038185875af1925050503d8060008114610be6576040519150601f19603f3d011682016040523d82523d6000602084013e610beb565b606091505b5091509150610bfc87838387610c07565b979650505050505050565b60608315610c73578251610c6c576001600160a01b0385163b610c6c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610309565b5081610b24565b610b24828060405162461bcd60e51b81526004016103099190610e02565b80356001600160a01b0381168114610ca857600080fd5b919050565b600060208284031215610cbf57600080fd5b610cc882610c91565b9392505050565b60008060408385031215610ce257600080fd5b610ceb83610c91565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610d2957610d29610cf9565b500290565b600082610d4b57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015610d6257610d62610cf9565b500390565b600060208284031215610d7957600080fd5b5051919050565b60008219821115610d9357610d93610cf9565b500190565b600060208284031215610daa57600080fd5b81518015158114610cc857600080fd5b60005b83811015610dd5578181015183820152602001610dbd565b83811115610a085750506000910152565b60008251610df8818460208701610dba565b9190910192915050565b6020815260008251806020840152610e21816040850160208701610dba565b601f01601f1916919091016040019291505056fea26469706673582212204f3e771c23a927f0536f2c40ce28167b16ac51cebad9bc6bc73bd23b36a1b68a64736f6c634300080b0033

Deployed Bytecode

0x6080604052600436106100dd5760003560e01c80637fd6f15c1161007f578063cc0f178611610059578063cc0f17861461023f578063dea54d0314610255578063f25f4b561461026a578063f2e3fa001461029257600080fd5b80637fd6f15c146101e3578063a36298c7146101f9578063aed99d3d1461021257600080fd5b80633e413bee116100bb5780633e413bee14610165578063612597451461018d57806361d027b3146101a357806378e97925146101cb57600080fd5b80632f48ab7d146100e25780633197cbb6146101275780633c8463a11461014d575b600080fd5b3480156100ee57600080fd5b5061010a73dac17f958d2ee523a2206206994597c13d831ec781565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561013357600080fd5b5061013f6367581f3081565b60405190815260200161011e565b34801561015957600080fd5b5061013f631dcd650081565b34801561017157600080fd5b5061010a73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b34801561019957600080fd5b5061013f60025481565b3480156101af57600080fd5b5061010a739078085dbaa87d18ee2643d9ab569df050055e7c81565b3480156101d757600080fd5b5061013f63674806e081565b3480156101ef57600080fd5b5061013f60035481565b34801561020557600080fd5b5061013f64746a52880081565b34801561021e57600080fd5b5061013f61022d366004610cad565b60016020526000908152604090205481565b34801561024b57600080fd5b5061013f60045481565b610268610263366004610ccf565b6102ba565b005b34801561027657600080fd5b5061010a7364dec738cfaf701f15e681e630e7060d1c86a88081565b34801561029e57600080fd5b5061010a735f4ec3df9cbd43714fe2740f5e3616155c5b841981565b600260005414156103125760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600055816001600160a01b038116158061034a57506001600160a01b03811673dac17f958d2ee523a2206206994597c13d831ec7145b8061037157506001600160a01b03811673a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48145b6103e35760405162461bcd60e51b815260206004820152603960248201527f52424e5450726573616c653a20546f6b656e206973206e6f742061207375707060448201527f6f7274656420737461626c6520746f6b656e206f7220455448000000000000006064820152608401610309565b63674806e04210156104375760405162461bcd60e51b815260206004820152601860248201527f52424e5450726573616c653a204e6f74207374617274656400000000000000006044820152606401610309565b6367581f304211156104805760405162461bcd60e51b815260206004820152601260248201527114909395141c995cd85b194e88115b99195960721b6044820152606401610309565b600082116104d05760405162461bcd60e51b815260206004820181905260248201527f52424e5450726573616c653a207a65726f207265717565737420616d6f756e746044820152606401610309565b816001600160a01b0384161561057b576104f56001600160a01b03851633308661099d565b6000600454600354856105089190610d0f565b6105129190610d2e565b90508015610542576105426001600160a01b0386167364dec738cfaf701f15e681e630e7060d1c86a88083610a0e565b610575739078085dbaa87d18ee2643d9ab569df050055e7c6105648387610d50565b6001600160a01b0388169190610a0e565b5061081d565b8234146105ca5760405162461bcd60e51b815260206004820152601d60248201527f52424e5450726573616c653a2057726f6e672045544820616d6f756e740000006044820152606401610309565b6000600454600354856105dd9190610d0f565b6105e79190610d2e565b905080156106b0576040516000907364dec738cfaf701f15e681e630e7060d1c86a8809083908381818185875af1925050503d8060008114610645576040519150601f19603f3d011682016040523d82523d6000602084013e61064a565b606091505b50509050806106ae5760405162461bcd60e51b815260206004820152602a60248201527f52424e5450726573616c653a204661696c65642073656e642045544820746f20604482015269199959481dd85b1b195d60b21b6064820152608401610309565b505b6000739078085dbaa87d18ee2643d9ab569df050055e7c6106d18387610d50565b604051600081818185875af1925050503d806000811461070d576040519150601f19603f3d011682016040523d82523d6000602084013e610712565b606091505b50509050806107745760405162461bcd60e51b815260206004820152602860248201527f52424e5450726573616c653a204661696c65642073656e642045544820746f20604482015267747265617375727960c01b6064820152608401610309565b6000735f4ec3df9cbd43714fe2740f5e3616155c5b84196001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ec9190610d67565b905064e8d4a510006305f5e1006108038389610d0f565b61080d9190610d2e565b6108179190610d2e565b95505050505b33600090815260016020526040902054631dcd65009061083e908590610d80565b11156108985760405162461bcd60e51b8152602060048201526024808201527f52424e5450726573616c653a204f766572666c6f77207265717565737420616d6044820152631bdd5b9d60e21b6064820152608401610309565b64746a528800836002546108ac9190610d80565b11156109055760405162461bcd60e51b815260206004820152602260248201527f52424e5450726573616c653a204f766572666c6f7720746f74616c20616d6f756044820152611b9d60f21b6064820152608401610309565b3360009081526001602052604081208054859290610924908490610d80565b92505081905550826002600082825461093d9190610d80565b9091555050604080513381526001600160a01b0386166020820152908101829052606081018490527fbeac2d2549dadcf7de04f6d0d6784be9b453cd95a4de64e49c6dea17962864849060800160405180910390a1505060016000555050565b6040516001600160a01b0380851660248301528316604482015260648101829052610a089085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a43565b50505050565b6040516001600160a01b038316602482015260448101829052610a3e90849063a9059cbb60e01b906064016109d1565b505050565b6000610a98826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b159092919063ffffffff16565b805190915015610a3e5780806020019051810190610ab69190610d98565b610a3e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610309565b6060610b248484600085610b2c565b949350505050565b606082471015610b8d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610309565b600080866001600160a01b03168587604051610ba99190610de6565b60006040518083038185875af1925050503d8060008114610be6576040519150601f19603f3d011682016040523d82523d6000602084013e610beb565b606091505b5091509150610bfc87838387610c07565b979650505050505050565b60608315610c73578251610c6c576001600160a01b0385163b610c6c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610309565b5081610b24565b610b24828060405162461bcd60e51b81526004016103099190610e02565b80356001600160a01b0381168114610ca857600080fd5b919050565b600060208284031215610cbf57600080fd5b610cc882610c91565b9392505050565b60008060408385031215610ce257600080fd5b610ceb83610c91565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610d2957610d29610cf9565b500290565b600082610d4b57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015610d6257610d62610cf9565b500390565b600060208284031215610d7957600080fd5b5051919050565b60008219821115610d9357610d93610cf9565b500190565b600060208284031215610daa57600080fd5b81518015158114610cc857600080fd5b60005b83811015610dd5578181015183820152602001610dbd565b83811115610a085750506000910152565b60008251610df8818460208701610dba565b9190910192915050565b6020815260008251806020840152610e21816040850160208701610dba565b601f01601f1916919091016040019291505056fea26469706673582212204f3e771c23a927f0536f2c40ce28167b16ac51cebad9bc6bc73bd23b36a1b68a64736f6c634300080b0033

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