tx · GBa3uWuYNxd8Px3tM11T3KJZo17iAVoHFBfrcMHVADUw

3NAqFmMtm2msHcnFDCLFJRn3MbfFwGM3ZHo:  -0.01000000 Waves

2019.02.20 17:06 [503597] smart account 3NAqFmMtm2msHcnFDCLFJRn3MbfFwGM3ZHo > SELF 0.00000000 Waves

{ "type": 13, "id": "GBa3uWuYNxd8Px3tM11T3KJZo17iAVoHFBfrcMHVADUw", "fee": 1000000, "feeAssetId": null, "timestamp": 1550670854006, "version": 1, "sender": "3NAqFmMtm2msHcnFDCLFJRn3MbfFwGM3ZHo", "senderPublicKey": "B3vYS2a7Bi6ya96sNHAg5kdszkJfzUwfSGfu16v4DyTm", "proofs": [ "4fHEQcccTVrcCmk7eM7Nbmht12bG22NCH5Tu4mCTd22qv1cjxEoTiBZ8WbuyTXpgAqYwic8GNNUhsgT3Nszsr1YK" ], "script": "base64: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", "chainId": 84, "height": 503597, "spentComplexity": 0 } View: original | compacted Prev: none Next: F8rTvG6ysYrUTmmRF3R8dXZNWE9wzuEVYz6DHX2q2y2t Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 1 #-}
2+{-# CONTENT_TYPE EXPRESSION #-}
3+let sender = tx.sender
4+let asset = base58'4qu3P9iPuWSLjFtTNACiTMj2iPeH59eyEpwmHKnGrxQb'
5+let N = extract(getInteger(sender, "N"))
6+let lastUpdateHeight = extract(getInteger(sender, "lastUpdateHeight"))
7+let lastUpdateBalance = extract(getInteger(sender, "lastUpdateBalance"))
8+let currentBalance = assetBalance(sender, asset)
9+let validityPeriod = 100
10+let transferAmount = 10
11+let miningRate = 10000
12+let minN = 1
13+let maxN = 32
14+match tx {
15+ case tx: TransferTransaction =>
16+ let firstBytes = toBase58String(take(tx.id, N))
17+ if (if (if (if (if ((validityPeriod > (height - lastUpdateHeight)))
18+ then isDefined(getBoolean(sender, firstBytes))
19+ else false)
20+ then (tx.amount == transferAmount)
21+ else false)
22+ then (tx.assetId == asset)
23+ else false)
24+ then (tx.fee == 500000)
25+ else false)
26+ then !(isDefined(tx.feeAssetId))
27+ else false
28+ case tx: DataTransaction =>
29+ let deltaN = (((lastUpdateBalance - currentBalance) / miningRate) - 1)
30+ let newN = if ((minN > (N + deltaN)))
31+ then minN
32+ else if (((N + deltaN) > maxN))
33+ then maxN
34+ else (N + deltaN)
35+ if (if (if (if (if (((height - lastUpdateHeight) >= validityPeriod))
36+ then (size(tx.data) == 3)
37+ else false)
38+ then (extract(getInteger(tx.data, "N")) == newN)
39+ else false)
40+ then (extract(getInteger(tx.data, "lastUpdateHeight")) == height)
41+ else false)
42+ then (extract(getInteger(tx.data, "lastUpdateBalance")) == currentBalance)
43+ else false)
44+ then (tx.fee == 500000)
45+ else false
46+ case _ =>
47+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
48+}

github/deemru/w8io/169f3d6 
16.44 ms