tx · HEtHQ9KK7CNkmFbNDKpqeMYctjiZp6huCWFr26NVBxEW

3MsZenewD5qTK1WUbzrWnRe7NtP4Xq59LQL:  -0.01400000 Waves

2019.03.04 11:52 [520921] smart account 3MsZenewD5qTK1WUbzrWnRe7NtP4Xq59LQL > SELF 0.00000000 Waves

{ "type": 13, "id": "HEtHQ9KK7CNkmFbNDKpqeMYctjiZp6huCWFr26NVBxEW", "fee": 1400000, "feeAssetId": null, "timestamp": 1551689539994, "version": 1, "sender": "3MsZenewD5qTK1WUbzrWnRe7NtP4Xq59LQL", "senderPublicKey": "DfYkLCbsukr8ewAAU72PDr2Rmgv2EtDeR7xhKGYvBoWb", "proofs": [ "28zQKQGUS1UvgLNUdqimymMFmLfvTZS3ximFKqBtftXooY1xkaoSwPjBEDjh1H9hCDR2dziDFiLyhu83bpsnJySE" ], "script": "base64:AQQAAAABYQkAAloAAAABCQAAyQAAAAIIBQAAAAJ0eAAAAAJpZAAAAAAAAAAAAQQAAAABYgIAAAAHYmFzZTY0OgQAAAABYwIAAAABZQkAAAAAAAACBQAAAAFhCQABLAAAAAIFAAAAAWIFAAAAAWOjSiKn", "chainId": 84, "height": 520921, "spentComplexity": 0 } View: original | compacted Prev: 4gTdL1t5mPQQu7bqeiGDJm4e1jztPA228mBDsnZ89UpP Next: none Full:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
3-let sender = tx.sender
4-let asset = base58'66eR7aymnuiQf87pQJvZQb25YtfHGm4iJkhs3qsrNEgC'
5-let difficulty = extract(getInteger(sender, "difficulty"))
6-let lastUpdateHeight = extract(getInteger(sender, "lastUpdateHeight"))
7-let lastUpdateBalance = extract(getInteger(sender, "lastUpdateBalance"))
8-let currentBalance = assetBalance(sender, asset)
9-let validityPeriod = 20
10-let transferAmount = 1
11-let miningRate = 100
12-let minDifficulty = 20
13-let maxDifficulty = 64
14-match tx {
15- case tx: TransferTransaction =>
16- let byte0LeadingZeros = extract(getInteger(sender, toBase58String(take(tx.id, 1))))
17- let byte1LeadingZeros = extract(getInteger(sender, toBase58String(takeRightBytes(take(tx.id, 2), 1))))
18- let byte2LeadingZeros = extract(getInteger(sender, toBase58String(takeRightBytes(take(tx.id, 3), 1))))
19- let byte3LeadingZeros = extract(getInteger(sender, toBase58String(takeRightBytes(take(tx.id, 4), 1))))
20- let byte4LeadingZeros = extract(getInteger(sender, toBase58String(takeRightBytes(take(tx.id, 5), 1))))
21- let byte5LeadingZeros = extract(getInteger(sender, toBase58String(takeRightBytes(take(tx.id, 6), 1))))
22- let byte6LeadingZeros = extract(getInteger(sender, toBase58String(takeRightBytes(take(tx.id, 7), 1))))
23- let byte7LeadingZeros = extract(getInteger(sender, toBase58String(takeRightBytes(take(tx.id, 8), 1))))
24- let firstZeroBits = if ((byte0LeadingZeros != 8))
25- then byte0LeadingZeros
26- else (8 + (if ((byte1LeadingZeros != 8))
27- then byte1LeadingZeros
28- else (8 + (if ((byte2LeadingZeros != 8))
29- then byte2LeadingZeros
30- else (8 + (if ((byte3LeadingZeros != 8))
31- then byte3LeadingZeros
32- else (8 + (if ((byte4LeadingZeros != 8))
33- then byte4LeadingZeros
34- else (8 + (if ((byte5LeadingZeros != 8))
35- then byte5LeadingZeros
36- else (8 + (if ((byte6LeadingZeros != 8))
37- then byte6LeadingZeros
38- else (8 + byte7LeadingZeros)))))))))))))
39- if (if (if (if (if ((validityPeriod > (height - lastUpdateHeight)))
40- then (firstZeroBits >= difficulty)
41- else false)
42- then (tx.amount == transferAmount)
43- else false)
44- then (tx.assetId == asset)
45- else false)
46- then (tx.fee == 500000)
47- else false)
48- then !(isDefined(tx.feeAssetId))
49- else false
50- case tx: DataTransaction =>
51- let delta = if (((miningRate / 4) > (lastUpdateBalance - currentBalance)))
52- then (miningRate / 4)
53- else if (((lastUpdateBalance - currentBalance) > (miningRate * 4)))
54- then (miningRate * 4)
55- else (lastUpdateBalance - currentBalance)
56- let newDifficulty0 = ((difficulty * delta) / miningRate)
57- let newDifficulty = if ((minDifficulty > newDifficulty0))
58- then minDifficulty
59- else if ((newDifficulty0 > maxDifficulty))
60- then maxDifficulty
61- else newDifficulty0
62- if (if (if (if (if (((height - lastUpdateHeight) >= validityPeriod))
63- then (size(tx.data) == 3)
64- else false)
65- then (extract(getInteger(tx.data, "difficulty")) == newDifficulty)
66- else false)
67- then (extract(getInteger(tx.data, "lastUpdateHeight")) == height)
68- else false)
69- then (extract(getInteger(tx.data, "lastUpdateBalance")) == currentBalance)
70- else false)
71- then (tx.fee == 500000)
72- else false
73- case _ =>
74- sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
75-}
3+let a = toBase64String(take(tx.id, 1))
4+let b = "base64:"
5+let c = "e"
6+(a == (b + c))

github/deemru/w8io/169f3d6 
25.44 ms