ETH Price: $1,972.60 (-5.73%)
Gas: 0.07 Gwei

Contract

0x843FcaAeb0Cce5FFaf272F5F2ddFFf3603F9c2A0
 

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
Withdraw67999562018-11-30 10:56:312653 days ago1543575391IN
0x843FcaAe...603F9c2A0
0 ETH0.0013023727.3
Create Swap67999522018-11-30 10:55:242653 days ago1543575324IN
0x843FcaAe...603F9c2A0
0.17611912 ETH0.0012700527.3
Refund67828102018-11-27 15:11:512656 days ago1543331511IN
0x843FcaAe...603F9c2A0
0 ETH0.00013185.4
Refund67825742018-11-27 14:11:582656 days ago1543327918IN
0x843FcaAe...603F9c2A0
0 ETH0.000153776.3
Refund67823252018-11-27 13:11:522656 days ago1543324312IN
0x843FcaAe...603F9c2A0
0 ETH0.000129365.3
Refund67820712018-11-27 12:12:072656 days ago1543320727IN
0x843FcaAe...603F9c2A0
0 ETH0.000129365.3
Refund67817402018-11-27 10:52:082656 days ago1543315928IN
0x843FcaAe...603F9c2A0
0 ETH0.000129365.3
Refund67817172018-11-27 10:46:342656 days ago1543315594IN
0x843FcaAe...603F9c2A0
0 ETH0.000129365.3
Refund67815052018-11-27 9:51:202656 days ago1543312280IN
0x843FcaAe...603F9c2A0
0 ETH0.000153776.3
Withdraw67813262018-11-27 9:07:432656 days ago1543309663IN
0x843FcaAe...603F9c2A0
0 ETH0.000300546.3
Create Swap67813212018-11-27 9:06:122656 days ago1543309572IN
0x843FcaAe...603F9c2A0
0.17311767 ETH0.00048545.3
Refund67812942018-11-27 8:58:212656 days ago1543309101IN
0x843FcaAe...603F9c2A0
0 ETH0.000153776.3
Refund67812722018-11-27 8:52:252656 days ago1543308745IN
0x843FcaAe...603F9c2A0
0 ETH0.000153776.3
Refund67812692018-11-27 8:51:272656 days ago1543308687IN
0x843FcaAe...603F9c2A0
0 ETH0.000178187.3
Refund67643862018-11-24 14:18:232659 days ago1543069103IN
0x843FcaAe...603F9c2A0
0 ETH0.000178187.3
Refund67643822018-11-24 14:17:392659 days ago1543069059IN
0x843FcaAe...603F9c2A0
0 ETH0.000153776.3
Refund67643632018-11-24 14:14:122659 days ago1543068852IN
0x843FcaAe...603F9c2A0
0 ETH0.000129365.3
Refund67643572018-11-24 14:12:432659 days ago1543068763IN
0x843FcaAe...603F9c2A0
0 ETH0.000129365.3
Refund67641222018-11-24 13:18:252659 days ago1543065505IN
0x843FcaAe...603F9c2A0
0 ETH0.000178187.3
Refund67641202018-11-24 13:17:332659 days ago1543065453IN
0x843FcaAe...603F9c2A0
0 ETH0.000178187.3
Refund67640962018-11-24 13:12:542659 days ago1543065174IN
0x843FcaAe...603F9c2A0
0 ETH0.000178187.3
Refund67638832018-11-24 12:18:432659 days ago1543061923IN
0x843FcaAe...603F9c2A0
0 ETH0.000153776.3
Refund67638802018-11-24 12:17:472659 days ago1543061867IN
0x843FcaAe...603F9c2A0
0 ETH0.000153776.3
Refund67638662018-11-24 12:14:162659 days ago1543061656IN
0x843FcaAe...603F9c2A0
0 ETH0.000178187.3
Refund67638622018-11-24 12:12:412659 days ago1543061561IN
0x843FcaAe...603F9c2A0
0 ETH0.000178187.3
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-67999562018-11-30 10:56:312653 days ago1543575391
0x843FcaAe...603F9c2A0
0.17611912 ETH
Transfer67813262018-11-27 9:07:432656 days ago1543309663
0x843FcaAe...603F9c2A0
0.17311767 ETH
Transfer67631012018-11-24 9:22:182659 days ago1543051338
0x843FcaAe...603F9c2A0
0.17930803 ETH
Transfer67409232018-11-20 18:07:362663 days ago1542737256
0x843FcaAe...603F9c2A0
0.16175994 ETH
Transfer67331472018-11-19 11:11:252664 days ago1542625885
0x843FcaAe...603F9c2A0
0.1133481 ETH
Transfer66785642018-11-10 13:01:082673 days ago1541854868
0x843FcaAe...603F9c2A0
0.45973493 ETH
Transfer66609322018-11-07 15:35:072676 days ago1541604907
0x843FcaAe...603F9c2A0
0.12699509 ETH
Transfer66414982018-11-04 10:50:342679 days ago1541328634
0x843FcaAe...603F9c2A0
0.15891527 ETH
Transfer66412012018-11-04 9:34:152679 days ago1541324055
0x843FcaAe...603F9c2A0
0.15882845 ETH
Transfer66113512018-10-30 12:07:432684 days ago1540901263
0x843FcaAe...603F9c2A0
0.15795756 ETH
Transfer66050742018-10-29 11:42:292685 days ago1540813349
0x843FcaAe...603F9c2A0
0.79720522 ETH
Transfer65975322018-10-28 5:53:172686 days ago1540705997
0x843FcaAe...603F9c2A0
0.31888208 ETH
Transfer65863892018-10-26 10:05:512688 days ago1540548351
0x843FcaAe...603F9c2A0
0.79739284 ETH
Transfer65855832018-10-26 6:57:242688 days ago1540537044
0x843FcaAe...603F9c2A0
0.15947856 ETH
Transfer65843972018-10-26 2:14:162688 days ago1540520056
0x843FcaAe...603F9c2A0
0.50435802 ETH
Transfer65833972018-10-25 22:20:242688 days ago1540506024
0x843FcaAe...603F9c2A0
0.16811934 ETH
Transfer65761092018-10-24 17:45:452690 days ago1540403145
0x843FcaAe...603F9c2A0
0.00246536 ETH
Transfer65760622018-10-24 17:36:342690 days ago1540402594
0x843FcaAe...603F9c2A0
0.16776684 ETH
Transfer65643342018-10-22 19:52:012692 days ago1540237921
0x843FcaAe...603F9c2A0
0.10048445 ETH
Transfer65642092018-10-22 19:22:482692 days ago1540236168
0x843FcaAe...603F9c2A0
0.05024222 ETH
Transfer65636372018-10-22 17:10:032692 days ago1540228203
0x843FcaAe...603F9c2A0
0.03015058 ETH
Transfer65433742018-10-19 9:28:492695 days ago1539941329
0x843FcaAe...603F9c2A0
0.15927064 ETH
Transfer65433552018-10-19 9:25:082695 days ago1539941108
0x843FcaAe...603F9c2A0
0.15927064 ETH
Transfer65432202018-10-19 8:51:532695 days ago1539939113
0x843FcaAe...603F9c2A0
0.15931776 ETH
Transfer65431452018-10-19 8:32:082695 days ago1539937928
0x843FcaAe...603F9c2A0
0.15947188 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:
EthToSmthSwaps

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-07-27
*/

pragma solidity ^0.4.23;



library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns(uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns(uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns(uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns(uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}


contract EthToSmthSwaps {

  using SafeMath for uint;

  address public owner;
  address public ratingContractAddress;
  uint256 SafeTime = 1 hours; // atomic swap timeOut

  struct Swap {
    bytes32 secret;
    bytes20 secretHash;
    uint256 createdAt;
    uint256 balance;
  }

  // ETH Owner => BTC Owner => Swap
  mapping(address => mapping(address => Swap)) public swaps;
  mapping(address => mapping(address => uint)) public participantSigns;

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




  event CreateSwap(uint256 createdAt);

  // ETH Owner creates Swap with secretHash
  // ETH Owner make token deposit
  function createSwap(bytes20 _secretHash, address _participantAddress) public payable {
    require(msg.value > 0);
    require(swaps[msg.sender][_participantAddress].balance == uint256(0));

    swaps[msg.sender][_participantAddress] = Swap(
      bytes32(0),
      _secretHash,
      now,
      msg.value
    );

    CreateSwap(now);
  }

  function getBalance(address _ownerAddress) public view returns (uint256) {
    return swaps[_ownerAddress][msg.sender].balance;
  }

  event Withdraw(bytes32 _secret,address addr, uint amount);

  // BTC Owner withdraw money and adds secret key to swap
  // BTC Owner receive +1 reputation
  function withdraw(bytes32 _secret, address _ownerAddress) public {
    Swap memory swap = swaps[_ownerAddress][msg.sender];

    require(swap.secretHash == ripemd160(_secret));
    require(swap.balance > uint256(0));
    require(swap.createdAt.add(SafeTime) > now);

    msg.sender.transfer(swap.balance);

    swaps[_ownerAddress][msg.sender].balance = 0;
    swaps[_ownerAddress][msg.sender].secret = _secret;

    Withdraw(_secret,msg.sender,swap.balance);
  }

  // ETH Owner receive secret
  function getSecret(address _participantAddress) public view returns (bytes32) {
    return swaps[msg.sender][_participantAddress].secret;
  }

  event Close();



  event Refund();

  // ETH Owner refund money
  // BTC Owner gets -1 reputation
  function refund(address _participantAddress) public {
    Swap memory swap = swaps[msg.sender][_participantAddress];

    require(swap.balance > uint256(0));
    require(swap.createdAt.add(SafeTime) < now);

    msg.sender.transfer(swap.balance);

    clean(msg.sender, _participantAddress);

    Refund();
  }

  function clean(address _ownerAddress, address _participantAddress) internal {
    delete swaps[_ownerAddress][_participantAddress];
    delete participantSigns[_ownerAddress][_participantAddress];
  }
  
  //TESTNET only
  function testnetWithdrawn(uint val) {
      require(msg.sender == owner);
      owner.transfer(val);
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"val","type":"uint256"}],"name":"testnetWithdrawn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_secret","type":"bytes32"},{"name":"_ownerAddress","type":"address"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_participantAddress","type":"address"}],"name":"getSecret","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"participantSigns","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"swaps","outputs":[{"name":"secret","type":"bytes32"},{"name":"secretHash","type":"bytes20"},{"name":"createdAt","type":"uint256"},{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_secretHash","type":"bytes20"},{"name":"_participantAddress","type":"address"}],"name":"createSwap","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"ratingContractAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_ownerAddress","type":"address"}],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_participantAddress","type":"address"}],"name":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"createdAt","type":"uint256"}],"name":"CreateSwap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_secret","type":"bytes32"},{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[],"name":"Close","type":"event"},{"anonymous":false,"inputs":[],"name":"Refund","type":"event"}]

6080604052610e1060025534801561001657600080fd5b5060008054600160a060020a03191633179055610821806100386000396000f3006080604052600436106100a35763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b02177f81146100a85780631b258d50146100c2578063284180fc146100e65780634d025fdf146101195780638da5cb5b1461014057806399caf97514610171578063a543bae7146101cc578063dcb5930a146101f2578063f8b2cb4f14610207578063fa89401a14610228575b600080fd5b3480156100b457600080fd5b506100c0600435610249565b005b3480156100ce57600080fd5b506100c0600435600160a060020a036024351661029d565b3480156100f257600080fd5b50610107600160a060020a036004351661045e565b60408051918252519081900360200190f35b34801561012557600080fd5b50610107600160a060020a0360043581169060243516610486565b34801561014c57600080fd5b506101556104a3565b60408051600160a060020a039092168252519081900360200190f35b34801561017d57600080fd5b50610198600160a060020a03600435811690602435166104b2565b604080519485526bffffffffffffffffffffffff199093166020850152838301919091526060830152519081900360800190f35b6100c06bffffffffffffffffffffffff1960043516600160a060020a03602435166104f2565b3480156101fe57600080fd5b50610155610602565b34801561021357600080fd5b50610107600160a060020a0360043516610611565b34801561023457600080fd5b506100c0600160a060020a0360043516610639565b600054600160a060020a0316331461026057600080fd5b60008054604051600160a060020a039091169183156108fc02918491818181858888f19350505050158015610299573d6000803e3d6000fd5b5050565b6102a56107ce565b50600160a060020a0381166000908152600360208181526040808420338552825280842081516080810183528154815260018201546c01000000000000000000000000026bffffffffffffffffffffffff19168185015260028201548184015290840154606082015281518781529151909482840193928290038301908290865af1158015610338573d6000803e3d6000fd5b505050604051516c01000000000000000000000000026bffffffffffffffffffffffff191681602001516bffffffffffffffffffffffff191614151561037d57600080fd5b606081015160001061038e57600080fd5b426103a8600254836040015161074a90919063ffffffff16565b116103b257600080fd5b6060810151604051339180156108fc02916000818181858888f193505050501580156103e2573d6000803e3d6000fd5b50600160a060020a03821660009081526003602081815260408084203380865290835281852093840194909455918690556060848101518351888152928301949094528183019390935290517fe7284ffe0c70ad2f3b0aa15cde1cfe95f736935651a138725b21fd168edc5d6a929181900390910190a1505050565b336000908152600360209081526040808320600160a060020a03949094168352929052205490565b600460209081526000928352604080842090915290825290205481565b600054600160a060020a031681565b60036020818152600093845260408085209091529183529120805460018201546002830154929093015490926c0100000000000000000000000002919084565b600034116104ff57600080fd5b336000908152600360208181526040808420600160a060020a038616855290915290912001541561052f57600080fd5b6040805160808101825260008082526bffffffffffffffffffffffff19851660208084019182524284860181815234606087019081523386526003808552888720600160a060020a038b16885285529588902096518755935160018701805473ffffffffffffffffffffffffffffffffffffffff19166c0100000000000000000000000090920491909117905551600286015591519390920192909255825191825291517f75e08a17287037df5e6f71989e369f532836e26f5ee121161a3dc370b8064764929181900390910190a15050565b600154600160a060020a031681565b600160a060020a03166000908152600360208181526040808420338552909152909120015490565b6106416107ce565b50336000908152600360208181526040808420600160a060020a0386168552825280842081516080810183528154815260018201546c01000000000000000000000000026bffffffffffffffffffffffff19169381019390935260028101549183019190915290910154606082018190529091106106be57600080fd5b426106d8600254836040015161074a90919063ffffffff16565b106106e257600080fd5b6060810151604051339180156108fc02916000818181858888f19350505050158015610712573d6000803e3d6000fd5b5061071d3383610760565b6040517f5d26862916391bf49478b2f5103b0720a842b45ef145a268f2cd1fb2aed5517890600090a15050565b60008282018381101561075957fe5b9392505050565b600160a060020a0391821660008181526003602081815260408084209590961680845294815285832083815560018101805473ffffffffffffffffffffffffffffffffffffffff19169055600281018490559091018290559181526004825283812092815291905290812055565b604080516080810182526000808252602082018190529181018290526060810191909152905600a165627a7a72305820abbe3207ce0f5fda21d6aafbf77d83c33dc293cabb1c139a487424469b184b710029

Deployed Bytecode

0x6080604052600436106100a35763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630b02177f81146100a85780631b258d50146100c2578063284180fc146100e65780634d025fdf146101195780638da5cb5b1461014057806399caf97514610171578063a543bae7146101cc578063dcb5930a146101f2578063f8b2cb4f14610207578063fa89401a14610228575b600080fd5b3480156100b457600080fd5b506100c0600435610249565b005b3480156100ce57600080fd5b506100c0600435600160a060020a036024351661029d565b3480156100f257600080fd5b50610107600160a060020a036004351661045e565b60408051918252519081900360200190f35b34801561012557600080fd5b50610107600160a060020a0360043581169060243516610486565b34801561014c57600080fd5b506101556104a3565b60408051600160a060020a039092168252519081900360200190f35b34801561017d57600080fd5b50610198600160a060020a03600435811690602435166104b2565b604080519485526bffffffffffffffffffffffff199093166020850152838301919091526060830152519081900360800190f35b6100c06bffffffffffffffffffffffff1960043516600160a060020a03602435166104f2565b3480156101fe57600080fd5b50610155610602565b34801561021357600080fd5b50610107600160a060020a0360043516610611565b34801561023457600080fd5b506100c0600160a060020a0360043516610639565b600054600160a060020a0316331461026057600080fd5b60008054604051600160a060020a039091169183156108fc02918491818181858888f19350505050158015610299573d6000803e3d6000fd5b5050565b6102a56107ce565b50600160a060020a0381166000908152600360208181526040808420338552825280842081516080810183528154815260018201546c01000000000000000000000000026bffffffffffffffffffffffff19168185015260028201548184015290840154606082015281518781529151909482840193928290038301908290865af1158015610338573d6000803e3d6000fd5b505050604051516c01000000000000000000000000026bffffffffffffffffffffffff191681602001516bffffffffffffffffffffffff191614151561037d57600080fd5b606081015160001061038e57600080fd5b426103a8600254836040015161074a90919063ffffffff16565b116103b257600080fd5b6060810151604051339180156108fc02916000818181858888f193505050501580156103e2573d6000803e3d6000fd5b50600160a060020a03821660009081526003602081815260408084203380865290835281852093840194909455918690556060848101518351888152928301949094528183019390935290517fe7284ffe0c70ad2f3b0aa15cde1cfe95f736935651a138725b21fd168edc5d6a929181900390910190a1505050565b336000908152600360209081526040808320600160a060020a03949094168352929052205490565b600460209081526000928352604080842090915290825290205481565b600054600160a060020a031681565b60036020818152600093845260408085209091529183529120805460018201546002830154929093015490926c0100000000000000000000000002919084565b600034116104ff57600080fd5b336000908152600360208181526040808420600160a060020a038616855290915290912001541561052f57600080fd5b6040805160808101825260008082526bffffffffffffffffffffffff19851660208084019182524284860181815234606087019081523386526003808552888720600160a060020a038b16885285529588902096518755935160018701805473ffffffffffffffffffffffffffffffffffffffff19166c0100000000000000000000000090920491909117905551600286015591519390920192909255825191825291517f75e08a17287037df5e6f71989e369f532836e26f5ee121161a3dc370b8064764929181900390910190a15050565b600154600160a060020a031681565b600160a060020a03166000908152600360208181526040808420338552909152909120015490565b6106416107ce565b50336000908152600360208181526040808420600160a060020a0386168552825280842081516080810183528154815260018201546c01000000000000000000000000026bffffffffffffffffffffffff19169381019390935260028101549183019190915290910154606082018190529091106106be57600080fd5b426106d8600254836040015161074a90919063ffffffff16565b106106e257600080fd5b6060810151604051339180156108fc02916000818181858888f19350505050158015610712573d6000803e3d6000fd5b5061071d3383610760565b6040517f5d26862916391bf49478b2f5103b0720a842b45ef145a268f2cd1fb2aed5517890600090a15050565b60008282018381101561075957fe5b9392505050565b600160a060020a0391821660008181526003602081815260408084209590961680845294815285832083815560018101805473ffffffffffffffffffffffffffffffffffffffff19169055600281018490559091018290559181526004825283812092815291905290812055565b604080516080810182526000808252602082018190529181018290526060810191909152905600a165627a7a72305820abbe3207ce0f5fda21d6aafbf77d83c33dc293cabb1c139a487424469b184b710029

Swarm Source

bzzr://abbe3207ce0f5fda21d6aafbf77d83c33dc293cabb1c139a487424469b184b71

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.