tx · 4gTdL1t5mPQQu7bqeiGDJm4e1jztPA228mBDsnZ89UpP

3MsZenewD5qTK1WUbzrWnRe7NtP4Xq59LQL:  -0.01400000 Waves

2019.03.01 10:50 [516447] smart account 3MsZenewD5qTK1WUbzrWnRe7NtP4Xq59LQL > SELF 0.00000000 Waves

{ "type": 13, "id": "4gTdL1t5mPQQu7bqeiGDJm4e1jztPA228mBDsnZ89UpP", "fee": 1400000, "feeAssetId": null, "timestamp": 1551426664303, "version": 1, "sender": "3MsZenewD5qTK1WUbzrWnRe7NtP4Xq59LQL", "senderPublicKey": "DfYkLCbsukr8ewAAU72PDr2Rmgv2EtDeR7xhKGYvBoWb", "proofs": [ "5bJBRpGm3pTMqHCGP8E8hqCepL9c5XMhp32JXyZc6QDohcvS3wsVjbGRn82LankVgsSLGUwiDGRioLzmUtk1UGCG" ], "script": "base64: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", "chainId": 84, "height": 516447, "spentComplexity": 0 } View: original | compacted Prev: 7HrFimZchu1FretWi8PisaGHt3VQssvPt5m3Q3TwRwyP Next: HEtHQ9KK7CNkmFbNDKpqeMYctjiZp6huCWFr26NVBxEW Diff:
OldNewDifferences
3636 else (8 + (if ((byte6LeadingZeros != 8))
3737 then byte6LeadingZeros
3838 else (8 + byte7LeadingZeros)))))))))))))
39- if (if (if (if (if (if ((validityPeriod > (height - lastUpdateHeight)))
39+ if (if (if (if (if ((validityPeriod > (height - lastUpdateHeight)))
4040 then (firstZeroBits >= difficulty)
4141 else false)
4242 then (tx.amount == transferAmount)
4646 then (tx.fee == 500000)
4747 else false)
4848 then !(isDefined(tx.feeAssetId))
49- else false)
50- then (tx.attachment == toBytes(lastUpdateHeight))
5149 else false
5250 case tx: DataTransaction =>
5351 let delta = if (((miningRate / 4) > (lastUpdateBalance - currentBalance)))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let sender = tx.sender
44 let asset = base58'66eR7aymnuiQf87pQJvZQb25YtfHGm4iJkhs3qsrNEgC'
55 let difficulty = extract(getInteger(sender, "difficulty"))
66 let lastUpdateHeight = extract(getInteger(sender, "lastUpdateHeight"))
77 let lastUpdateBalance = extract(getInteger(sender, "lastUpdateBalance"))
88 let currentBalance = assetBalance(sender, asset)
99 let validityPeriod = 20
1010 let transferAmount = 1
1111 let miningRate = 100
1212 let minDifficulty = 20
1313 let maxDifficulty = 64
1414 match tx {
1515 case tx: TransferTransaction =>
1616 let byte0LeadingZeros = extract(getInteger(sender, toBase58String(take(tx.id, 1))))
1717 let byte1LeadingZeros = extract(getInteger(sender, toBase58String(takeRightBytes(take(tx.id, 2), 1))))
1818 let byte2LeadingZeros = extract(getInteger(sender, toBase58String(takeRightBytes(take(tx.id, 3), 1))))
1919 let byte3LeadingZeros = extract(getInteger(sender, toBase58String(takeRightBytes(take(tx.id, 4), 1))))
2020 let byte4LeadingZeros = extract(getInteger(sender, toBase58String(takeRightBytes(take(tx.id, 5), 1))))
2121 let byte5LeadingZeros = extract(getInteger(sender, toBase58String(takeRightBytes(take(tx.id, 6), 1))))
2222 let byte6LeadingZeros = extract(getInteger(sender, toBase58String(takeRightBytes(take(tx.id, 7), 1))))
2323 let byte7LeadingZeros = extract(getInteger(sender, toBase58String(takeRightBytes(take(tx.id, 8), 1))))
2424 let firstZeroBits = if ((byte0LeadingZeros != 8))
2525 then byte0LeadingZeros
2626 else (8 + (if ((byte1LeadingZeros != 8))
2727 then byte1LeadingZeros
2828 else (8 + (if ((byte2LeadingZeros != 8))
2929 then byte2LeadingZeros
3030 else (8 + (if ((byte3LeadingZeros != 8))
3131 then byte3LeadingZeros
3232 else (8 + (if ((byte4LeadingZeros != 8))
3333 then byte4LeadingZeros
3434 else (8 + (if ((byte5LeadingZeros != 8))
3535 then byte5LeadingZeros
3636 else (8 + (if ((byte6LeadingZeros != 8))
3737 then byte6LeadingZeros
3838 else (8 + byte7LeadingZeros)))))))))))))
39- if (if (if (if (if (if ((validityPeriod > (height - lastUpdateHeight)))
39+ if (if (if (if (if ((validityPeriod > (height - lastUpdateHeight)))
4040 then (firstZeroBits >= difficulty)
4141 else false)
4242 then (tx.amount == transferAmount)
4343 else false)
4444 then (tx.assetId == asset)
4545 else false)
4646 then (tx.fee == 500000)
4747 else false)
4848 then !(isDefined(tx.feeAssetId))
49- else false)
50- then (tx.attachment == toBytes(lastUpdateHeight))
5149 else false
5250 case tx: DataTransaction =>
5351 let delta = if (((miningRate / 4) > (lastUpdateBalance - currentBalance)))
5452 then (miningRate / 4)
5553 else if (((lastUpdateBalance - currentBalance) > (miningRate * 4)))
5654 then (miningRate * 4)
5755 else (lastUpdateBalance - currentBalance)
5856 let newDifficulty0 = ((difficulty * delta) / miningRate)
5957 let newDifficulty = if ((minDifficulty > newDifficulty0))
6058 then minDifficulty
6159 else if ((newDifficulty0 > maxDifficulty))
6260 then maxDifficulty
6361 else newDifficulty0
6462 if (if (if (if (if (((height - lastUpdateHeight) >= validityPeriod))
6563 then (size(tx.data) == 3)
6664 else false)
6765 then (extract(getInteger(tx.data, "difficulty")) == newDifficulty)
6866 else false)
6967 then (extract(getInteger(tx.data, "lastUpdateHeight")) == height)
7068 else false)
7169 then (extract(getInteger(tx.data, "lastUpdateBalance")) == currentBalance)
7270 else false)
7371 then (tx.fee == 500000)
7472 else false
7573 case _ =>
7674 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
7775 }

github/deemru/w8io/169f3d6 
26.91 ms