Transaction Hash:
Block:
4153135 at Aug-13-2017 03:37:37 PM +UTC
Transaction Fee:
0.0033571 ETH
$7.61
Gas Used:
33,571 Gas / 100 Gwei
Account State Difference:
| Address | Before | After | State Difference | ||
|---|---|---|---|---|---|
| 0x167A9333...191aa6476 | (Coinone 1) | 377,704.144493900046455168 Eth | 377,704.346516851913732368 Eth | 0.2020229518672772 | |
|
0x829BD824...93333A830
Miner
| (F2Pool Old) | 8,565.698293531891741545 Eth | 8,565.701650631891741545 Eth | 0.0033571 | |
| 0xDbCB7CA3...5B997b14B |
0.217022951867277188 Eth
Nonce: 123
|
0.011642899999999988 Eth
Nonce: 124
| 0.2053800518672772 |
Execution Trace
ETH 0.2020229518672772
ReplaySafeSplit.split( targetFork=0x167A9333BF582556f35Bd4d16A7E80E191aa6476, targetNoFork=0x571B7b69829CE2568B9BC3d32eaf7405DAb76b21 ) => ( True )
-
AmIOnTheFork.CALL( ) - ETH 0.2020229518672772
Coinone 1.CALL( )
File 1 of 2: ReplaySafeSplit
File 2 of 2: AmIOnTheFork
contract RequiringFunds {
modifier NeedEth () {
if (msg.value <= 0 ) throw;
_
}
}
contract AmIOnTheFork {
function forked() constant returns(bool);
}
contract ReplaySafeSplit is RequiringFunds {
//address private constant oracleAddress = 0x8128B12cABc6043d94BD3C4d9B9455077Eb18807; // testnet
address private constant oracleAddress = 0x2bd2326c993dfaef84f696526064ff22eba5b362; // mainnet
// Fork oracle to use
AmIOnTheFork amIOnTheFork = AmIOnTheFork(oracleAddress);
// Splits the funds into 2 addresses
function split(address targetFork, address targetNoFork) NeedEth returns(bool) {
// The 2 checks are to ensure that users provide BOTH addresses
// and prevent funds to be sent to 0x0 on one fork or the other.
if (targetFork == 0) throw;
if (targetNoFork == 0) throw;
if (amIOnTheFork.forked() // if we are on the fork
&& targetFork.send(msg.value)) { // send the ETH to the targetFork address
return true;
} else if (!amIOnTheFork.forked() // if we are NOT on the fork
&& targetNoFork.send(msg.value)) { // send the ETH to the targetNoFork address
return true;
}
throw; // don't accept value transfer, otherwise it would be trapped.
}
// Reject value transfers.
function() {
throw;
}
}File 2 of 2: AmIOnTheFork
contract AmIOnTheFork {
bool public forked = false;
address constant darkDAO = 0x304a554a310c7e546dfe434669c62820b7d83490;
// Check the fork condition during creation of the contract.
// This function should be called between block 1920000 and 1921200.
// Approximately between 2016-07-20 12:00:00 UTC and 2016-07-20 17:00:00 UTC.
// After that the status will be locked in.
function update() {
if (block.number >= 1920000 && block.number <= 1921200) {
forked = darkDAO.balance < 3600000 ether;
}
}
function() {
throw;
}
}