tx · BpxiwGefKWE2KwsKY3ZoXQyaexrJ1ACe7sCYMWzCa2Z 3Mqa3Toa6jKf2wF8ma5b2XMUPn64p7cgL6F: -0.01400000 Waves 2019.02.11 19:55 [490753] smart account 3Mqa3Toa6jKf2wF8ma5b2XMUPn64p7cgL6F > SELF 0.00000000 Waves
{ "type": 13, "id": "BpxiwGefKWE2KwsKY3ZoXQyaexrJ1ACe7sCYMWzCa2Z", "fee": 1400000, "feeAssetId": null, "timestamp": 1549904102450, "version": 1, "sender": "3Mqa3Toa6jKf2wF8ma5b2XMUPn64p7cgL6F", "senderPublicKey": "4k4xRPnrDM243pRAvYhicyD5EJeypAuyLvpFYyWbV5au", "proofs": [ "5Pv5rTzxW8HyH2Hopp2hjMXyTRFwaUxEZaXv5B6zhJVHyo4qJCEfEJU84pbTD4cfR9ceUErRoLBX29e1g12H19hw" ], "script": "base64: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", "chainId": 84, "height": 490753, "spentComplexity": 0 } View: original | compacted Prev: C2xjrxTYy2F73NVnsT7PnJ5Ss2HmjEfzApNxxtBU4sG6 Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 1 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | - | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
3 | + | let this = tx.sender | |
4 | + | let asset = base58'GY6oRoaAE1Fx4HpE7PRDCGhGM4cfPSzCmMm7q2jSq3MJ' | |
5 | + | let N = extract(getInteger(this, "N")) | |
6 | + | let lastUpdateHeight = extract(getInteger(this, "lastUpdateHeight")) | |
7 | + | let lastUpdateBalance = extract(getInteger(this, "lastUpdateBalance")) | |
8 | + | let currentBalance = assetBalance(this, asset) | |
9 | + | let validityPeriod = 1000 | |
10 | + | let totalAmount = 10000000 | |
11 | + | let miningPart = 1000000 | |
12 | + | let miningRate = 300000 | |
13 | + | let minN = 1 | |
14 | + | let maxN = 32 | |
15 | + | match tx { | |
16 | + | case tx: TransferTransaction => | |
17 | + | let firstBytes = toBase58String(take(tx.id, N)) | |
18 | + | let transferAmount = ((currentBalance / miningPart) + 1) | |
19 | + | if (if (if (if (if ((validityPeriod > (height - lastUpdateHeight))) | |
20 | + | then isDefined(getBoolean(this, firstBytes)) | |
21 | + | else false) | |
22 | + | then (tx.amount == transferAmount) | |
23 | + | else false) | |
24 | + | then (tx.assetId == asset) | |
25 | + | else false) | |
26 | + | then (tx.fee == 500000) | |
27 | + | else false) | |
28 | + | then !(isDefined(tx.feeAssetId)) | |
29 | + | else false | |
30 | + | case tx: DataTransaction => | |
31 | + | let deltaN = (((lastUpdateBalance - currentBalance) / miningRate) - 1) | |
32 | + | let newN = if ((minN > (N + deltaN))) | |
33 | + | then minN | |
34 | + | else if (((N + deltaN) > maxN)) | |
35 | + | then maxN | |
36 | + | else (N + deltaN) | |
37 | + | if (if (if (if (if (((height - lastUpdateHeight) >= validityPeriod)) | |
38 | + | then (size(tx.data) == 3) | |
39 | + | else false) | |
40 | + | then (extract(getInteger(tx.data, "N")) == newN) | |
41 | + | else false) | |
42 | + | then (extract(getInteger(tx.data, "lastUpdateHeight")) == height) | |
43 | + | else false) | |
44 | + | then (extract(getInteger(tx.data, "lastUpdateBalance")) == currentBalance) | |
45 | + | else false) | |
46 | + | then (tx.fee == 500000) | |
47 | + | else false | |
48 | + | case _ => | |
49 | + | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
50 | + | } |
github/deemru/w8io/169f3d6 19.98 ms ◑![]()