tx · BGKHVnCJGVheZTnkaUvV2JodBiuZkgQ6LSBk36vqTs5n

3Mq3iMAFr85yRabdpAzKESryC6thJbJiPD7:  -0.01400000 Waves

2018.12.16 04:56 [406725] smart account 3Mq3iMAFr85yRabdpAzKESryC6thJbJiPD7 > SELF 0.00000000 Waves

{ "type": 13, "id": "BGKHVnCJGVheZTnkaUvV2JodBiuZkgQ6LSBk36vqTs5n", "fee": 1400000, "feeAssetId": null, "timestamp": 1544925384177, "version": 1, "sender": "3Mq3iMAFr85yRabdpAzKESryC6thJbJiPD7", "senderPublicKey": "2v9HSm5v8MSh3Zvt2GRSqhuxNVoxNwpgoYwFDRx6Rdsq", "proofs": [ "UniFpjvYYgGVUNMxiseSPE17pYz3tKZP4N62fuAAZMeAidJeyykJLBAMP3hGouKLbdLQ66wdirmZVU8HeZM6izG" ], "script": "base64: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", "chainId": 84, "height": 406725, "spentComplexity": 0 } View: original | compacted Prev: S9gJKhsgeXQH6GF1YG5PFnzS7dwv9KQesfdiEFXfwVS Next: ECWsxfMY43GWfCrm9as9LnnTxijCt9Lq8bVuPoPkSfn Diff:
OldNewDifferences
9595 }
9696 else false
9797 case t: TransferTransaction =>
98- let appO = getInteger(me, ("app" + toBase58String(t.sender.bytes)))
98+ let appO = getInteger(me, ("app" + toBase58String(addressFromRecipient(t.recipient).bytes)))
9999 let app = if (isDefined(appO))
100100 then extract(appO)
101101 else 0
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let me = tx.sender
44 match tx {
55 case t: DataTransaction =>
66 let mode = take(t.data[0].key, 3)
77 let mode2 = take(t.data[1].key, 3)
88 let num = take(drop(t.data[0].key, 3), 1)
99 let sessionId = drop(t.data[0].key, 4)
1010 let isDef = isDefined(getString(me, t.data[0].key))
1111 if (if (if ((size(t.data) == 1))
1212 then !(isDef)
1313 else false)
1414 then (mode == "pay")
1515 else false)
1616 then {
1717 let payT1 = transactionById(fromBase58String(extract(getString(t.data, t.data[0].key))))
1818 match payT1 {
1919 case tt1: TransferTransaction =>
2020 if ((tt1.amount == 100))
2121 then (tt1.recipient == me)
2222 else false
2323 case _ =>
2424 false
2525 }
2626 }
2727 else if (if (if ((size(t.data) == 2))
2828 then (mode == "app")
2929 else false)
3030 then (mode2 == "ses")
3131 else false)
3232 then {
3333 let sessionIdK = drop(t.data[1].key, 3)
3434 let isDefS = isDefined(getString(me, t.data[1].key))
3535 let addr = drop(t.data[0].key, 3)
3636 let pay1Key = ("pay1" + sessionIdK)
3737 let pay2Key = ("pay2" + sessionIdK)
3838 let pay3Key = ("pay3" + sessionIdK)
3939 let sender1 = match transactionById(fromBase58String(extract(getString(me, pay1Key)))) {
4040 case ttt: TransferTransaction =>
4141 ttt.sender
4242 case _ =>
4343 me
4444 }
4545 let sender2 = match transactionById(fromBase58String(extract(getString(me, pay2Key)))) {
4646 case ttt: TransferTransaction =>
4747 ttt.sender
4848 case _ =>
4949 me
5050 }
5151 let sender3 = match transactionById(fromBase58String(extract(getString(me, pay3Key)))) {
5252 case ttt: TransferTransaction =>
5353 ttt.sender
5454 case _ =>
5555 me
5656 }
5757 let app1 = if ((toBase58String(fromBase58String(extract(getString(sender1, ("win1" + sessionIdK))))) == addr))
5858 then 1
5959 else 0
6060 let app2 = if ((toBase58String(fromBase58String(extract(getString(sender2, ("win2" + sessionIdK))))) == addr))
6161 then 1
6262 else 0
6363 let app3 = if ((toBase58String(fromBase58String(extract(getString(sender3, ("win3" + sessionIdK))))) == addr))
6464 then 1
6565 else 0
6666 let lastAppO = getInteger(me, t.data[0].key)
6767 let lastApp = if (isDefined(lastAppO))
6868 then extract(lastAppO)
6969 else 0
7070 let isAdd300 = ((lastApp + 300) == getInteger(t.data, t.data[0].key))
7171 if (if (!(isDefS))
7272 then isAdd300
7373 else false)
7474 then (((app1 + app2) + app3) >= 2)
7575 else false
7676 }
7777 else if (if (if ((size(t.data) == 2))
7878 then (mode == "app")
7979 else false)
8080 then (mode2 == "trx")
8181 else false)
8282 then {
8383 let addr = drop(t.data[0].key, 3)
8484 let isDefT = isDefined(getString(me, t.data[1].key))
8585 let lastAppO = getInteger(me, t.data[0].key)
8686 let lastApp = if (isDefined(lastAppO))
8787 then extract(lastAppO)
8888 else 0
8989 let isSub300 = ((lastApp - 300) == getInteger(t.data, t.data[0].key))
9090 if (if (!(isDefT))
9191 then (extract(getInteger(t.data, t.data[0].key)) >= 0)
9292 else false)
9393 then isSub300
9494 else false
9595 }
9696 else false
9797 case t: TransferTransaction =>
98- let appO = getInteger(me, ("app" + toBase58String(t.sender.bytes)))
98+ let appO = getInteger(me, ("app" + toBase58String(addressFromRecipient(t.recipient).bytes)))
9999 let app = if (isDefined(appO))
100100 then extract(appO)
101101 else 0
102102 let isDefTt = isDefined(getString(me, ("trx" + toBase58String(t.id))))
103103 if (if ((app >= 300))
104104 then (t.amount == 300)
105105 else false)
106106 then isDefTt
107107 else false
108108 case t: SetScriptTransaction =>
109109 true
110110 case _ =>
111111 false
112112 }

github/deemru/w8io/169f3d6 
28.51 ms