tx · ELw9wrW1aN8LoZYewzrpCVksDzjspKRwph9cLCbFaBYP

3P3tLiDmaAiTZD7sRA3djWqYazpoNcg6drT:  -0.01400000 Waves

2019.03.01 17:51 [1418207] smart account 3P3tLiDmaAiTZD7sRA3djWqYazpoNcg6drT > SELF 0.00000000 Waves

{ "type": 13, "id": "ELw9wrW1aN8LoZYewzrpCVksDzjspKRwph9cLCbFaBYP", "fee": 1400000, "feeAssetId": null, "timestamp": 1551451890755, "version": 1, "sender": "3P3tLiDmaAiTZD7sRA3djWqYazpoNcg6drT", "senderPublicKey": "CanMZkMmTYKHVLqKXrVMXTHuyUtag853a8ti9m1LHYFa", "proofs": [ "2fVWrkCrmQMovqM75wBqNWdxCPZrzb8imCibgtPQ5UpdrDjBpCj8uHSFFZYcgMYA5QmWhwVVytoKQJkD5MqETUuT" ], "script": "base64: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", "chainId": 87, "height": 1418207, "spentComplexity": 0 } View: original | compacted Prev: 68VUVr8TbsfinGAGARUhuecZDugzigFKnKAeppMBY9Yn Next: 7djzFLMsm6DZ8KCkLQPJrAVsM4zppVbVTbRRLwe1ptdZ Full:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let sender = tx.sender
44 let asset = base58'BXSAEa9jm9Qrkmn2XPqqKBkukZoBkJ8YpQ9EZywjdnnx'
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 = 15
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)))))))))))))
3939 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))
4949 else false
5050 case tx: DataTransaction =>
5151 let delta = (lastUpdateBalance - currentBalance)
5252 let sgn = if ((miningRate > delta))
5353 then -1
5454 else 1
5555 let k = if ((miningRate > delta))
5656 then (miningRate / delta)
5757 else (delta / miningRate)
5858 let log2 = if ((2 > k))
5959 then 0
6060 else if ((4 > k))
6161 then 1
6262 else if ((8 > k))
6363 then 2
6464 else if ((16 > k))
6565 then 3
6666 else if ((32 > k))
6767 then 4
6868 else if ((64 > k))
6969 then 5
7070 else if ((128 > k))
7171 then 6
7272 else if ((256 > k))
7373 then 7
7474 else if ((512 > k))
7575 then 8
7676 else if ((1024 > k))
7777 then 9
7878 else 10
7979 let newDifficulty0 = (difficulty + (sgn * delta))
8080 let newDifficulty = if ((minDifficulty > newDifficulty0))
8181 then minDifficulty
8282 else if ((newDifficulty0 > maxDifficulty))
8383 then maxDifficulty
8484 else newDifficulty0
8585 if (if (if (if (if (((height - lastUpdateHeight) >= validityPeriod))
8686 then (size(tx.data) == 3)
8787 else false)
8888 then (extract(getInteger(tx.data, "difficulty")) == newDifficulty)
8989 else false)
9090 then (extract(getInteger(tx.data, "lastUpdateHeight")) == height)
9191 else false)
9292 then (extract(getInteger(tx.data, "lastUpdateBalance")) == currentBalance)
9393 else false)
9494 then (tx.fee == 500000)
9595 else false
9696 case _ =>
9797 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
9898 }

github/deemru/w8io/6500d08 
102.03 ms