ETH Price: $1,972.76 (+0.54%)
 

More Info

Private Name Tags

Multichain Info

Transaction Hash
Method
Block
From
To
Pay245097432026-02-22 3:33:232 hrs ago1771731203IN
BitPay: Invoice
1 wei0.00000560.06055271
Pay245096392026-02-22 3:12:232 hrs ago1771729943IN
BitPay: Invoice
1 wei0.000006210.06717752
Pay245095722026-02-22 2:58:472 hrs ago1771729127IN
BitPay: Invoice
0.020465 ETH0.000026380.46615754
Pay245093322026-02-22 2:10:473 hrs ago1771726247IN
BitPay: Invoice
1 wei0.000004380.04505636
Pay245090412026-02-22 1:11:594 hrs ago1771722719IN
BitPay: Invoice
0 ETH0.000057640.59238626
Pay245084972026-02-21 23:22:476 hrs ago1771716167IN
BitPay: Invoice
0.657158 ETH0.000070741.24961866
Pay245084392026-02-21 23:11:116 hrs ago1771715471IN
BitPay: Invoice
0.255916 ETH0.000006370.11265441
Pay245084392026-02-21 23:11:116 hrs ago1771715471IN
BitPay: Invoice
0.06769 ETH0.000064841.14586851
Pay245083772026-02-21 22:58:476 hrs ago1771714727IN
BitPay: Invoice
1 wei0.000038720.3399707
Pay245083212026-02-21 22:47:116 hrs ago1771714031IN
BitPay: Invoice
0.055304 ETH0.000025030.44240742
Pay245081712026-02-21 22:17:117 hrs ago1771712231IN
BitPay: Invoice
0.213736 ETH0.00002580.45575694
Pay245077042026-02-21 20:43:118 hrs ago1771706591IN
BitPay: Invoice
1 wei0.000097311
Pay245075982026-02-21 20:21:599 hrs ago1771705319IN
BitPay: Invoice
0.027928 ETH0.000050970.90066951
Pay245075922026-02-21 20:20:479 hrs ago1771705247IN
BitPay: Invoice
1 wei0.000053790.4701727
Pay245070572026-02-21 18:32:4711 hrs ago1771698767IN
BitPay: Invoice
0.022853 ETH0.000047620.84146281
Pay245070482026-02-21 18:30:5911 hrs ago1771698659IN
BitPay: Invoice
0.029284 ETH0.000065151.15131204
Pay245069642026-02-21 18:14:1111 hrs ago1771697651IN
BitPay: Invoice
0.865983 ETH0.000020710.36597372
Pay245061672026-02-21 15:34:2314 hrs ago1771688063IN
BitPay: Invoice
0.018947 ETH0.000117312.07268644
Pay245054622026-02-21 13:12:5916 hrs ago1771679579IN
BitPay: Invoice
0.481897 ETH0.000047090.83193769
Pay245054532026-02-21 13:11:1116 hrs ago1771679471IN
BitPay: Invoice
0.803085 ETH0.00003690.65194032
Pay245052082026-02-21 12:22:1117 hrs ago1771676531IN
BitPay: Invoice
0.078438 ETH0.000039950.70569624
Withdraw245050842026-02-21 11:57:1117 hrs ago1771675031IN
BitPay: Invoice
0 ETH0.000032181.04556942
Withdraw245050822026-02-21 11:56:4717 hrs ago1771675007IN
BitPay: Invoice
0 ETH0.000053971.04556942
Withdraw245050822026-02-21 11:56:4717 hrs ago1771675007IN
BitPay: Invoice
0 ETH0.000053951.04556942
Withdraw245050812026-02-21 11:56:3517 hrs ago1771674995IN
BitPay: Invoice
0 ETH0.000084691.28765428
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer245050842026-02-21 11:57:1117 hrs ago1771675031
BitPay: Invoice
2.516671 ETH
Transfer244984982026-02-20 13:55:4739 hrs ago1771595747
BitPay: Invoice
12.880339 ETH
Transfer244910622026-02-19 13:02:112 days ago1771506131
BitPay: Invoice
3.8002 ETH
Transfer244840472026-02-18 13:33:473 days ago1771421627
BitPay: Invoice
4.297437 ETH
Transfer244764622026-02-17 12:10:114 days ago1771330211
BitPay: Invoice
4.320568 ETH
Transfer244694802026-02-16 12:48:115 days ago1771246091
BitPay: Invoice
14.150748 ETH
Transfer244628442026-02-15 14:36:356 days ago1771166195
BitPay: Invoice
2.668563 ETH
Transfer244555082026-02-14 14:04:237 days ago1771077863
BitPay: Invoice
5.39724 ETH
Transfer244476752026-02-13 11:50:598 days ago1770983459
BitPay: Invoice
2.003388 ETH
Transfer244404972026-02-12 11:47:479 days ago1770896867
BitPay: Invoice
15.823106 ETH
Transfer244261072026-02-10 11:34:3511 days ago1770723275
BitPay: Invoice
24.386731 ETH
Transfer244190912026-02-09 12:05:1112 days ago1770638711
BitPay: Invoice
1.803013 ETH
Transfer244121162026-02-08 12:38:3513 days ago1770554315
BitPay: Invoice
16.4048 ETH
Transfer244048632026-02-07 12:11:5914 days ago1770466319
BitPay: Invoice
21.048345 ETH
Transfer243977522026-02-06 12:21:4715 days ago1770380507
BitPay: Invoice
2.621242 ETH
Transfer243906992026-02-05 12:42:1116 days ago1770295331
BitPay: Invoice
8.229007 ETH
Transfer243831422026-02-04 11:18:3517 days ago1770203915
BitPay: Invoice
27.997267 ETH
Transfer243758952026-02-03 11:01:1118 days ago1770116471
BitPay: Invoice
12.975965 ETH
Transfer243694292026-02-02 13:19:4719 days ago1770038387
BitPay: Invoice
2.674191 ETH
Transfer243622052026-02-01 13:06:3520 days ago1769951195
BitPay: Invoice
6.717203 ETH
Transfer243552472026-01-31 13:46:4721 days ago1769867207
BitPay: Invoice
14.11556 ETH
Transfer243478312026-01-30 12:57:5922 days ago1769777879
BitPay: Invoice
18.998542 ETH
Transfer243403782026-01-29 12:02:1123 days ago1769688131
BitPay: Invoice
29.344601 ETH
Transfer243332272026-01-28 12:05:5924 days ago1769601959
BitPay: Invoice
12.650988 ETH
Transfer243261402026-01-27 12:22:2325 days ago1769516543
BitPay: Invoice
17.091674 ETH
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

Contract Source Code Verified (Exact Match)

Contract Name:
Invoice

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 3: Invoice.sol
pragma solidity ^0.4.23;

import "./IERC20.sol";
import "./SafeERC20.sol";

contract Invoice {
  using SafeERC20 for IERC20;

  address public owner;
  address public quoteSigner;
  mapping(bytes32 => bool) public isPaid;

  event PaymentAccepted(bytes32 indexed hash, address indexed tokenContract,  uint time, uint value);


  constructor(address valueSigner) public {
    owner = msg.sender;
    quoteSigner = valueSigner;
  }

  function isValidPayment(
    uint value,
    uint gasPrice,
    uint expiration,
    bytes32 payload,
    bytes32 hash,
    uint8 v,
    bytes32 r,
    bytes32 s,
    address tokenContract
  ) public view returns(bool valid) {
    bool isValid = !isPaid[payload];
    isValid = isValid && block.timestamp <= expiration;
    bytes memory prefix = "\x19Ethereum Signed Message:\n32";
    bytes32 ourHash = keccak256(abi.encodePacked(value, gasPrice, expiration, payload, tokenContract));
    bytes32 payloadHash = keccak256(abi.encodePacked(prefix, ourHash));
    isValid = isValid && ourHash == hash;
    isValid = isValid && (ecrecover(payloadHash, v, r, s) == quoteSigner);
    return isValid;
  }

  function validatePayment(
    uint value,
    uint gasPrice,
    uint expiration,
    bytes32 payload,
    bytes32 hash,
    uint8 v,
    bytes32 r,
    bytes32 s,
    address tokenContract
  ) public view returns(bool valid) {
    require(isPaid[payload] == false, "Already been paid");
    require(block.timestamp <= expiration, "Payment is late");
    bytes memory prefix = "\x19Ethereum Signed Message:\n32";
    bytes32 ourHash = keccak256(abi.encodePacked(value, gasPrice, expiration, payload, tokenContract));
    bytes32 payloadHash = keccak256(abi.encodePacked(prefix, ourHash));
    require(ourHash == hash, "Hash mismatch");
    require(ecrecover(payloadHash, v, r, s) == quoteSigner, "Signature mismatch for quote");
    return true;
  }


  function pay(
    uint value,
    uint gasPrice,
    uint expiration,
    bytes32 payload,
    bytes32 hash,
    uint8 v,
    bytes32 r,
    bytes32 s,
    address tokenContract
  ) public payable {
    if(tokenContract == 0x0) {
      require(validatePayment(msg.value, gasPrice, expiration, payload, hash, v, r, s, tokenContract), "Only accept valid payments");
    } else {
      IERC20 token = IERC20(tokenContract);
      require(token.allowance(msg.sender, address(this)) >= value, "Must have enough tokens to pay");
      require(validatePayment(value, gasPrice, expiration, payload, hash, v, r, s, tokenContract), "Only accept valid payments");
      require(token.safeTransferFrom(msg.sender, address(this), value), "Transfer must succeed");
    }
    isPaid[payload] = true;
    emit PaymentAccepted(hash, tokenContract, block.timestamp, value);
  }

  modifier isAdmin() {
    require(msg.sender == owner, "Must be the contract owner");
    _;
  }

  function withdraw(address tokenContract) public isAdmin {
    if(tokenContract == 0x0) {
      owner.transfer(address(this).balance);
    } else {
      IERC20 token = IERC20(tokenContract);
      uint balance = token.balanceOf(address(this));
      require(token.safeTransfer(owner, balance), "Must succeed withdrawing tokens");
    }
  }

  function setSigner(address newQuoteSigner) public isAdmin {
    quoteSigner = newQuoteSigner;
  }
  function setAdmin(address newAdmin) public isAdmin {
    owner = newAdmin;
  }
}

File 2 of 3: IERC20.sol
pragma solidity ^0.4.23;

contract IERC20 {
  function totalSupply() public constant returns (uint);
  function balanceOf(address tokenOwner) public constant returns (uint balance);
  function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
  function transfer(address to, uint tokens) public returns (bool success);
  function approve(address spender, uint tokens) public returns (bool success);
  function transferFrom(address from, address to, uint tokens) public returns (bool success);

  event Transfer(address indexed from, address indexed to, uint tokens);
  event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

File 3 of 3: SafeERC20.sol
pragma solidity ^0.4.23;

import "./IERC20.sol";
/**
* @dev Library to perform safe calls to standard method for ERC20 tokens.
*
* Why Transfers: transfer methods could have a return value (bool), throw or revert for insufficient funds or
* unathorized value.
*
* Why Approve: approve method could has a return value (bool) or does not accept 0 as a valid value (BNB token).
* The common strategy used to clean approvals.
*
* We use the Solidity call instead of interface methods because in the case of transfer, it will fail
* for tokens with an implementation without returning a value.
* Since versions of Solidity 0.4.22 the EVM has a new opcode, called RETURNDATASIZE.
* This opcode stores the size of the returned data of an external call. The code checks the size of the return value
* after an external call and reverts the transaction in case the return data is shorter than expected
*/
library SafeERC20 {
    /**
    * @dev Transfer token for a specified address
    * @param _token erc20 The address of the ERC20 contract
    * @param _to address The address which you want to transfer to
    * @param _value uint256 the _value of tokens to be transferred
    * @return bool whether the transfer was successful or not
    */
    function safeTransfer(IERC20 _token, address _to, uint256 _value) internal returns (bool) {
        uint256 prevBalance = _token.balanceOf(address(this));

        if (prevBalance < _value) {
            // Insufficient funds
            return false;
        }

        address(_token).call(
            abi.encodeWithSignature("transfer(address,uint256)", _to, _value)
        );

        // Fail if the new balance its not equal than previous balance sub _value
        return prevBalance - _value == _token.balanceOf(address(this));
    }

    /**
    * @dev Transfer tokens from one address to another
    * @param _token erc20 The address of the ERC20 contract
    * @param _from address The address which you want to send tokens from
    * @param _to address The address which you want to transfer to
    * @param _value uint256 the _value of tokens to be transferred
    * @return bool whether the transfer was successful or not
    */
    function safeTransferFrom(
        IERC20 _token,
        address _from,
        address _to,
        uint256 _value
    ) internal returns (bool)
    {
        uint256 prevBalance = _token.balanceOf(_from);

        if (
          prevBalance < _value || // Insufficient funds
          _token.allowance(_from, address(this)) < _value // Insufficient allowance
        ) {
            return false;
        }

        address(_token).call(
            abi.encodeWithSignature("transferFrom(address,address,uint256)", _from, _to, _value)
        );

        // Fail if the new balance its not equal than previous balance sub _value
        return prevBalance - _value == _token.balanceOf(_from);
    }

   /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * 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
   *
   * @param _token erc20 The address of the ERC20 contract
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   * @return bool whether the approve was successful or not
   */
    function safeApprove(IERC20 _token, address _spender, uint256 _value) internal returns (bool) {
        address(_token).call(
            abi.encodeWithSignature("approve(address,uint256)",_spender, _value)
        );

        // Fail if the new allowance its not equal than _value
        return _token.allowance(address(this), _spender) == _value;
    }

   /**
   * @dev Clear approval
   * Note that if 0 is not a valid value it will be set to 1.
   * @param _token erc20 The address of the ERC20 contract
   * @param _spender The address which will spend the funds.
   */
    function clearApprove(IERC20 _token, address _spender) internal returns (bool) {
        bool success = safeApprove(_token, _spender, 0);

        if (!success) {
            success = safeApprove(_token, _spender, 1);
        }

        return success;
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"name":"value","type":"uint256"},{"name":"gasPrice","type":"uint256"},{"name":"expiration","type":"uint256"},{"name":"payload","type":"bytes32"},{"name":"hash","type":"bytes32"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"},{"name":"tokenContract","type":"address"}],"name":"validatePayment","outputs":[{"name":"valid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenContract","type":"address"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newQuoteSigner","type":"address"}],"name":"setSigner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"setAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"value","type":"uint256"},{"name":"gasPrice","type":"uint256"},{"name":"expiration","type":"uint256"},{"name":"payload","type":"bytes32"},{"name":"hash","type":"bytes32"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"},{"name":"tokenContract","type":"address"}],"name":"isValidPayment","outputs":[{"name":"valid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"},{"name":"gasPrice","type":"uint256"},{"name":"expiration","type":"uint256"},{"name":"payload","type":"bytes32"},{"name":"hash","type":"bytes32"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"},{"name":"tokenContract","type":"address"}],"name":"pay","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"quoteSigner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"isPaid","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"valueSigner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hash","type":"bytes32"},{"indexed":true,"name":"tokenContract","type":"address"},{"indexed":false,"name":"time","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"PaymentAccepted","type":"event"}]

608060405234801561001057600080fd5b50604051602080611e9883398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611dd4806100c46000396000f300608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630b0898211461009e57806351cff8d91461015c5780636c19e7831461019f578063704b6c02146101e25780638da5cb5b1461022557806398a89c1b1461027c578063b6b4af051461033a578063f413bdb3146103d3578063feef66401461042a575b600080fd5b3480156100aa57600080fd5b5061014260048036038101908080359060200190929190803590602001909291908035906020019092919080356000191690602001909291908035600019169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610473565b604051808215151515815260200191505060405180910390f35b34801561016857600080fd5b5061019d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061096e565b005b3480156101ab57600080fd5b506101e0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c79565b005b3480156101ee57600080fd5b50610223600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d81565b005b34801561023157600080fd5b5061023a610e88565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028857600080fd5b5061032060048036038101908080359060200190929190803590602001909291908035906020019092919080356000191690602001909291908035600019169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ead565b604051808215151515815260200191505060405180910390f35b6103d160048036038101908080359060200190929190803590602001909291908035906020019092919080356000191690602001909291908035600019169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111f6565b005b3480156103df57600080fd5b506103e86115e6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043657600080fd5b50610459600480360381019080803560001916906020019092919050505061160c565b604051808215151515815260200191505060405180910390f35b6000606060008060001515600260008c6000191660001916815260200190815260200160002060009054906101000a900460ff16151514151561051e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f416c7265616479206265656e207061696400000000000000000000000000000081525060200191505060405180910390fd5b8a4211151515610596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f5061796d656e74206973206c617465000000000000000000000000000000000081525060200191505060405180910390fd5b6040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a33320000000081525092508c8c8c8c886040516020018086815260200185815260200184815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401955050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156106865780518252602082019150602081019050602083039250610661565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915082826040516020018083805190602001908083835b6020831015156106ef57805182526020820191506020810190506020830392506106ca565b6001836020036101000a0380198251168184511680821785525050505050509050018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831015156107675780518252602082019150602081019050602083039250610742565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905088600019168260001916141515610815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f48617368206d69736d617463680000000000000000000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166001828a8a8a604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11580156108c5573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff1614151561095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f5369676e6174757265206d69736d6174636820666f722071756f74650000000081525060200191505060405180910390fd5b600193505050509998505050505050505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4d7573742062652074686520636f6e7472616374206f776e657200000000000081525060200191505060405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff161415610ad8576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015610ad2573d6000803e3d6000fd5b50610c74565b8291508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b7657600080fd5b505af1158015610b8a573d6000803e3d6000fd5b505050506040513d6020811015610ba057600080fd5b81019080805190602001909291905050509050610bff6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff1661162c9092919063ffffffff16565b1515610c73576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4d7573742073756363656564207769746864726177696e6720746f6b656e730081525060200191505060405180910390fd5b5b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4d7573742062652074686520636f6e7472616374206f776e657200000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e45576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4d7573742062652074686520636f6e7472616374206f776e657200000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806060600080600260008c6000191660001916815260200190815260200160002060009054906101000a900460ff16159350838015610eee57508b4211155b93506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a33320000000081525092508d8d8d8d896040516020018086815260200185815260200184815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401955050505050506040516020818303038152906040526040518082805190602001908083835b602083101515610fe05780518252602082019150602081019050602083039250610fbb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915082826040516020018083805190602001908083835b6020831015156110495780518252602082019150602081019050602083039250611024565b6001836020036101000a0380198251168184511680821785525050505050509050018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831015156110c1578051825260208201915060208101905060208303925061109c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050838015611104575089600019168260001916145b93508380156111e05750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166001828b8b8b604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11580156111be573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff16145b9350839450505050509998505050505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff1614156112a057611227348a8a8a8a8a8a8a8a610473565b151561129b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4f6e6c79206163636570742076616c6964207061796d656e747300000000000081525060200191505060405180910390fd5b61154b565b819050898173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561137357600080fd5b505af1158015611387573d6000803e3d6000fd5b505050506040513d602081101561139d57600080fd5b810190808051906020019092919050505010151515611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4d757374206861766520656e6f75676820746f6b656e7320746f20706179000081525060200191505060405180910390fd5b6114358a8a8a8a8a8a8a8a8a610473565b15156114a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4f6e6c79206163636570742076616c6964207061796d656e747300000000000081525060200191505060405180910390fd5b6114d633308c8473ffffffffffffffffffffffffffffffffffffffff16611946909392919063ffffffff16565b151561154a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f5472616e73666572206d7573742073756363656564000000000000000000000081525060200191505060405180910390fd5b5b600160026000896000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1686600019167f826e7792f434a28ba302e6767da85b4b8e56b83a5e028687f30e848e32667f95428d604051808381526020018281526020019250505060405180910390a350505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b6000808473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156116ca57600080fd5b505af11580156116de573d6000803e3d6000fd5b505050506040513d60208110156116f457600080fd5b8101908080519060200190929190505050905082811015611718576000915061193e565b8473ffffffffffffffffffffffffffffffffffffffff168484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405180828051906020019080838360005b8381101561181e578082015181840152602081019050611803565b50505050905090810190601f16801561184b5780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af1915050508473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156118fc57600080fd5b505af1158015611910573d6000803e3d6000fd5b505050506040513d602081101561192657600080fd5b81019080805190602001909291905050508382031491505b509392505050565b6000808573ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156119e457600080fd5b505af11580156119f8573d6000803e3d6000fd5b505050506040513d6020811015611a0e57600080fd5b8101908080519060200190929190505050905082811080611b375750828673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e87306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015611afa57600080fd5b505af1158015611b0e573d6000803e3d6000fd5b505050506040513d6020811015611b2457600080fd5b8101908080519060200190929190505050105b15611b455760009150611d9f565b8573ffffffffffffffffffffffffffffffffffffffff16858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506040516020818303038152906040527f23b872dd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405180828051906020019080838360005b83811015611c7f578082015181840152602081019050611c64565b50505050905090810190601f168015611cac5780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af1915050508573ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611d5d57600080fd5b505af1158015611d71573d6000803e3d6000fd5b505050506040513d6020811015611d8757600080fd5b81019080805190602001909291905050508382031491505b509493505050505600a165627a7a7230582084ea8b0fc708d384163b217b0469bcdaed7970e5c5d34d783e960923add11a820029000000000000000000000000a97ceb180ca61d124b6a4aadc5530bc53198922f

Deployed Bytecode

0x608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630b0898211461009e57806351cff8d91461015c5780636c19e7831461019f578063704b6c02146101e25780638da5cb5b1461022557806398a89c1b1461027c578063b6b4af051461033a578063f413bdb3146103d3578063feef66401461042a575b600080fd5b3480156100aa57600080fd5b5061014260048036038101908080359060200190929190803590602001909291908035906020019092919080356000191690602001909291908035600019169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610473565b604051808215151515815260200191505060405180910390f35b34801561016857600080fd5b5061019d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061096e565b005b3480156101ab57600080fd5b506101e0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c79565b005b3480156101ee57600080fd5b50610223600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d81565b005b34801561023157600080fd5b5061023a610e88565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028857600080fd5b5061032060048036038101908080359060200190929190803590602001909291908035906020019092919080356000191690602001909291908035600019169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ead565b604051808215151515815260200191505060405180910390f35b6103d160048036038101908080359060200190929190803590602001909291908035906020019092919080356000191690602001909291908035600019169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111f6565b005b3480156103df57600080fd5b506103e86115e6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043657600080fd5b50610459600480360381019080803560001916906020019092919050505061160c565b604051808215151515815260200191505060405180910390f35b6000606060008060001515600260008c6000191660001916815260200190815260200160002060009054906101000a900460ff16151514151561051e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f416c7265616479206265656e207061696400000000000000000000000000000081525060200191505060405180910390fd5b8a4211151515610596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f5061796d656e74206973206c617465000000000000000000000000000000000081525060200191505060405180910390fd5b6040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a33320000000081525092508c8c8c8c886040516020018086815260200185815260200184815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401955050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156106865780518252602082019150602081019050602083039250610661565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915082826040516020018083805190602001908083835b6020831015156106ef57805182526020820191506020810190506020830392506106ca565b6001836020036101000a0380198251168184511680821785525050505050509050018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831015156107675780518252602082019150602081019050602083039250610742565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905088600019168260001916141515610815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f48617368206d69736d617463680000000000000000000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166001828a8a8a604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11580156108c5573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff1614151561095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f5369676e6174757265206d69736d6174636820666f722071756f74650000000081525060200191505060405180910390fd5b600193505050509998505050505050505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4d7573742062652074686520636f6e7472616374206f776e657200000000000081525060200191505060405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff161415610ad8576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015610ad2573d6000803e3d6000fd5b50610c74565b8291508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b7657600080fd5b505af1158015610b8a573d6000803e3d6000fd5b505050506040513d6020811015610ba057600080fd5b81019080805190602001909291905050509050610bff6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff1661162c9092919063ffffffff16565b1515610c73576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4d7573742073756363656564207769746864726177696e6720746f6b656e730081525060200191505060405180910390fd5b5b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4d7573742062652074686520636f6e7472616374206f776e657200000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e45576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4d7573742062652074686520636f6e7472616374206f776e657200000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806060600080600260008c6000191660001916815260200190815260200160002060009054906101000a900460ff16159350838015610eee57508b4211155b93506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a33320000000081525092508d8d8d8d896040516020018086815260200185815260200184815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401955050505050506040516020818303038152906040526040518082805190602001908083835b602083101515610fe05780518252602082019150602081019050602083039250610fbb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915082826040516020018083805190602001908083835b6020831015156110495780518252602082019150602081019050602083039250611024565b6001836020036101000a0380198251168184511680821785525050505050509050018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831015156110c1578051825260208201915060208101905060208303925061109c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050838015611104575089600019168260001916145b93508380156111e05750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166001828b8b8b604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11580156111be573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff16145b9350839450505050509998505050505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff1614156112a057611227348a8a8a8a8a8a8a8a610473565b151561129b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4f6e6c79206163636570742076616c6964207061796d656e747300000000000081525060200191505060405180910390fd5b61154b565b819050898173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561137357600080fd5b505af1158015611387573d6000803e3d6000fd5b505050506040513d602081101561139d57600080fd5b810190808051906020019092919050505010151515611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4d757374206861766520656e6f75676820746f6b656e7320746f20706179000081525060200191505060405180910390fd5b6114358a8a8a8a8a8a8a8a8a610473565b15156114a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4f6e6c79206163636570742076616c6964207061796d656e747300000000000081525060200191505060405180910390fd5b6114d633308c8473ffffffffffffffffffffffffffffffffffffffff16611946909392919063ffffffff16565b151561154a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f5472616e73666572206d7573742073756363656564000000000000000000000081525060200191505060405180910390fd5b5b600160026000896000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1686600019167f826e7792f434a28ba302e6767da85b4b8e56b83a5e028687f30e848e32667f95428d604051808381526020018281526020019250505060405180910390a350505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b6000808473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156116ca57600080fd5b505af11580156116de573d6000803e3d6000fd5b505050506040513d60208110156116f457600080fd5b8101908080519060200190929190505050905082811015611718576000915061193e565b8473ffffffffffffffffffffffffffffffffffffffff168484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405180828051906020019080838360005b8381101561181e578082015181840152602081019050611803565b50505050905090810190601f16801561184b5780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af1915050508473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156118fc57600080fd5b505af1158015611910573d6000803e3d6000fd5b505050506040513d602081101561192657600080fd5b81019080805190602001909291905050508382031491505b509392505050565b6000808573ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156119e457600080fd5b505af11580156119f8573d6000803e3d6000fd5b505050506040513d6020811015611a0e57600080fd5b8101908080519060200190929190505050905082811080611b375750828673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e87306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015611afa57600080fd5b505af1158015611b0e573d6000803e3d6000fd5b505050506040513d6020811015611b2457600080fd5b8101908080519060200190929190505050105b15611b455760009150611d9f565b8573ffffffffffffffffffffffffffffffffffffffff16858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506040516020818303038152906040527f23b872dd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405180828051906020019080838360005b83811015611c7f578082015181840152602081019050611c64565b50505050905090810190601f168015611cac5780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af1915050508573ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611d5d57600080fd5b505af1158015611d71573d6000803e3d6000fd5b505050506040513d6020811015611d8757600080fd5b81019080805190602001909291905050508382031491505b509493505050505600a165627a7a7230582084ea8b0fc708d384163b217b0469bcdaed7970e5c5d34d783e960923add11a820029

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

000000000000000000000000a97ceb180ca61d124b6a4aadc5530bc53198922f

-----Decoded View---------------
Arg [0] : valueSigner (address): 0xa97CEb180Ca61d124B6a4aadC5530BC53198922F

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a97ceb180ca61d124b6a4aadc5530bc53198922f


Deployed Bytecode Sourcemap

76:3298:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1135:749;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1135:749:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2851:339;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2851:339:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;3194:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3194:97:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;3294:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3294:78:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;128:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;128:20:1;;;;;;;;;;;;;;;;;;;;;;;;;;;433:698;;8:9:-1;5:2;;;30:1;27;20:12;5:2;433:698:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1889:859;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;152:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;152:26:1;;;;;;;;;;;;;;;;;;;;;;;;;;;182:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;182:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1135:749;1349:10;1490:19;1552:15;1656:19;1394:5;1375:24;;:6;:15;1382:7;1375:15;;;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;1367:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1454:10;1435:15;:29;;1427:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:56;;;;;;;;;;;;;;;;;;;;1597:5;1604:8;1614:10;1626:7;1635:13;1580:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1580:69:1;;;1570:80;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1570:80:1;;;;;;;;;;;;;;;;1552:98;;1705:6;1713:7;1688:33;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1688:33:1;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1688:33:1;;;1678:44;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1678:44:1;;;;;;;;;;;;;;;;1656:66;;1747:4;1736:15;;;:7;:15;;;;1728:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1818:11;;;;;;;;;;;1783:46;;:31;1793:11;1806:1;1809;1812;1783:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1783:31:1;;;;;;;;:46;;;1775:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1875:4;1868:11;;1135:749;;;;;;;;;;;;;;:::o;2851:339::-;3004:12;3048;2799:5;;;;;;;;;;;2785:19;;:10;:19;;;2777:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2933:3;2916:13;:20;;;2913:273;;;2946:5;;;;;;;;;;;:14;;:37;2969:4;2961:21;;;2946:37;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2946:37:1;2913:273;;;3026:13;3004:36;;3063:5;:15;;;3087:4;3063:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3063:30:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3063:30:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3063:30:1;;;;;;;;;;;;;;;;3048:45;;3109:34;3128:5;;;;;;;;;;;3135:7;3109:5;:18;;;;:34;;;;;:::i;:::-;3101:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2913:273;2851:339;;;:::o;3194:97::-;2799:5;;;;;;;;;;;2785:19;;:10;:19;;;2777:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3272:14;3258:11;;:28;;;;;;;;;;;;;;;;;;3194:97;:::o;3294:78::-;2799:5;;;;;;;;;;;2785:19;;:10;:19;;;2777:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3359:8;3351:5;;:16;;;;;;;;;;;;;;;;;;3294:78;:::o;128:20::-;;;;;;;;;;;;;:::o;433:698::-;646:10;664:12;757:19;819:15;923:19;680:6;:15;687:7;680:15;;;;;;;;;;;;;;;;;;;;;;;;;;;679:16;664:31;;711:7;:40;;;;;741:10;722:15;:29;;711:40;701:50;;757:56;;;;;;;;;;;;;;;;;;;;864:5;871:8;881:10;893:7;902:13;847:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;847:69:1;;;837:80;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;837:80:1;;;;;;;;;;;;;;;;819:98;;972:6;980:7;955:33;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;955:33:1;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;955:33:1;;;945:44;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;945:44:1;;;;;;;;;;;;;;;;923:66;;1005:7;:26;;;;;1027:4;1016:15;;;:7;:15;;;;1005:26;995:36;;1047:7;:59;;;;;1094:11;;;;;;;;;;;1059:46;;:31;1069:11;1082:1;1085;1088;1059:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1059:31:1;;;;;;;;:46;;;1047:59;1037:69;;1119:7;1112:14;;433:698;;;;;;;;;;;;;;;:::o;1889:859::-;2272:12;2112:3;2095:13;:20;;;2092:553;;;2133:87;2149:9;2160:8;2170:10;2182:7;2191:4;2197:1;2200;2203;2206:13;2133:15;:87::i;:::-;2125:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2092:553;;;2294:13;2272:36;;2370:5;2324;:15;;;2340:10;2360:4;2324:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2324:42:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2324:42:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2324:42:1;;;;;;;;;;;;;;;;:51;;2316:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2426:83;2442:5;2449:8;2459:10;2471:7;2480:4;2486:1;2489;2492;2495:13;2426:15;:83::i;:::-;2418:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2556:56;2579:10;2599:4;2606:5;2556;:22;;;;:56;;;;;;:::i;:::-;2548:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2092:553;2668:4;2650:6;:15;2657:7;2650:15;;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;2705:13;2683:60;;2699:4;2683:60;;;;2720:15;2737:5;2683:60;;;;;;;;;;;;;;;;;;;;;;;;1889:859;;;;;;;;;;:::o;152:26::-;;;;;;;;;;;;;:::o;182:38::-;;;;;;;;;;;;;;;;;;;;;;:::o;1241:542:2:-;1325:4;1341:19;1363:6;:16;;;1388:4;1363:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1363:31:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1363:31:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1363:31:2;;;;;;;;;;;;;;;;1341:53;;1423:6;1409:11;:20;1405:97;;;1486:5;1479:12;;;;1405:97;1520:6;1512:20;;1599:3;1604:6;1546:65;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1546:65:2;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;1546:65:2;1512:109;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1512:109:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1745:6;:16;;;1770:4;1745:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1745:31:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1745:31:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1745:31:2;;;;;;;;;;;;;;;;1735:6;1721:11;:20;:55;1714:62;;1241:542;;;;;;;:::o;2189:701::-;2330:4;2350:19;2372:6;:16;;;2389:5;2372:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2372:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2372:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2372:23:2;;;;;;;;;;;;;;;;2350:45;;2435:6;2421:11;:20;:103;;;;2518:6;2477;:16;;;2494:5;2509:4;2477:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2477:38:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2477:38:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2477:38:2;;;;;;;;;;;;;;;;:47;2421:103;2406:192;;;2582:5;2575:12;;;;2406:192;2616:6;2608:20;;2707:5;2714:3;2719:6;2642:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2642:84:2;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;2642:84:2;2608:128;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2608:128:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2860:6;:16;;;2877:5;2860:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2860:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2860:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2860:23:2;;;;;;;;;;;;;;;;2850:6;2836:11;:20;:47;2829:54;;2189:701;;;;;;;;:::o

Swarm Source

bzzr://84ea8b0fc708d384163b217b0469bcdaed7970e5c5d34d783e960923add11a82

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

OVERVIEW

Buy, store, swap and spend cryptocurrency all in one app. Turn Bitcoin into dollars with the BitPay crypto debit card. Earn cash back automatically.

0x34E158883eFC81c5D92fde785FBa48Db738711ee
Net Worth in USD
$11,116.46

Net Worth in ETH
5.634972

Token Allocations
ETH 64.02%
USDC 30.21%
USDT 2.81%
Others 2.95%
Chain Token Portfolio % Price Amount Value
ETH
Ether (ETH)
63.86%$1,972.763.5987$7,099.35
ETH30.21%$13,358.38$3,358.38
ETH2.81%$0.999638312.83$312.72
ETH0.14%$2,257.370.00710904$16.05
ETH<0.01%$0.000.0154$0.00
POL2.13%$0.00237.1208$0.00
POL<0.01%$0.1079570.0204$0.002206
BSC0.55%$619.50.099$61.35
BSC0.12%$112.95$12.95
BASE0.09%$1,972.350.004978$9.82
OP0.07%$1,972.350.00394134$7.77
ARB<0.01%$0.9984380.407$0.4063
ARB<0.01%$10.3754$0.3754
ARB<0.01%$1,972.60.00000342$0.006749
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.