tx · Dsoy6UWjpfzN6xaPATCs6RxToPzr1FjsbCkY2XC3LehU

3My6kED2uUWAEFmNmUsKXAEwNE3pCeMmjRt:  -0.01400000 Waves

2019.02.04 15:51 [480274] smart account 3My6kED2uUWAEFmNmUsKXAEwNE3pCeMmjRt > SELF 0.00000000 Waves

{ "type": 13, "id": "Dsoy6UWjpfzN6xaPATCs6RxToPzr1FjsbCkY2XC3LehU", "fee": 1400000, "feeAssetId": null, "timestamp": 1549284681586, "version": 1, "sender": "3My6kED2uUWAEFmNmUsKXAEwNE3pCeMmjRt", "senderPublicKey": "3qrTmx4jsup6WcnWLUdfzZayosrNHVNwSV99S6KvZwPy", "proofs": [ "4BJTeoTp3dGucup7Dhp6SEWUMpuSdDazM9PLkyA3cfpGJ823q1z4VXfYwjJ6yqRZqNKbEr9Xhm8VRg97BQjtZiqo" ], "script": "base64:AQQAAAALc3RhcnRIZWlnaHQAAAAAAAACIuAEAAAABmFuc3dlcgEAAAAgn4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCggEAAAAAm1lCAUAAAACdHgAAAAGc2VuZGVyBAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPRGF0YVRyYW5zYWN0aW9uBAAAAAFhBQAAAAckbWF0Y2gwAwkAAAAAAAACCQABkAAAAAEIBQAAAAFhAAAABGRhdGEAAAAAAAAAAAAJAAACAAAAAQIAAAANZGF0YSBpcyBlbXB0eQQAAAALcGF5bWVudFR4SWQJAQAAAAdleHRyYWN0AAAAAQkBAAAACWdldFN0cmluZwAAAAIIBQAAAAFhAAAABGRhdGEAAAAAAAAAAAAEAAAACXBheW1lbnRUeAkAA+gAAAABCQACWQAAAAEFAAAAC3BheW1lbnRUeElkBAAAAAckbWF0Y2gxBQAAAAlwYXltZW50VHgDCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAAWIFAAAAByRtYXRjaDEEAAAABnNlbmRlcgkABBMAAAACCAUAAAABYQAAAARkYXRhCQACWAAAAAEICAUAAAABYgAAAAZzZW5kZXIAAAAFYnl0ZXMDAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAABnNlbmRlcgkAAAAAAAACCQEAAAAHZXh0cmFjdAAAAAEFAAAABnNlbmRlcgUAAAALcGF5bWVudFR4SWQHCQAB9AAAAAMIBQAAAAFhAAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAABYQAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAFiAAAAD3NlbmRlclB1YmxpY0tleQcHAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAFjBQAAAAckbWF0Y2gwBAAAAAxwYXJ0aWNpcGF0ZWQJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAAAm1lCQACWAAAAAEICQAEJAAAAAEIBQAAAAFjAAAACXJlY2lwaWVudAAAAAVieXRlcwkAAAAAAAACCQAB9wAAAAEJAAGbAAAAAQkBAAAAB2V4dHJhY3QAAAABCQAEHQAAAAIIBQAAAAFjAAAACXJlY2lwaWVudAIAAAAGYW5zd2VyBQAAAAZhbnN3ZXIGATre9w==", "chainId": 84, "height": 480274, "spentComplexity": 0 } View: original | compacted Prev: 85zuNu3ZRbP1wanoa8fKSyZVu5Aq4GDoR4a5YiDUyegq Next: GHTqyZDB7vr1p51ek4xUSCPGquc7XPE6pLgqxR63EKa Diff:
OldNewDifferences
55 let me = tx.sender
66 match tx {
77 case a: DataTransaction =>
8- let paymentTxId = extract(getString(a.data, 0))
9- let paymentTx = transactionById(fromBase58String(paymentTxId))
10- match paymentTx {
11- case b: TransferTransaction =>
12- let sender = getString(a.data, toBase58String(b.sender.bytes))
13- if (isDefined(sender))
14- then (extract(sender) == paymentTxId)
15- else false
16- case _ =>
17- false
18- }
8+ if ((size(a.data) == 0))
9+ then throw("data is empty")
10+ else {
11+ let paymentTxId = extract(getString(a.data, 0))
12+ let paymentTx = transactionById(fromBase58String(paymentTxId))
13+ match paymentTx {
14+ case b: TransferTransaction =>
15+ let sender = getString(a.data, toBase58String(b.sender.bytes))
16+ if (if (isDefined(sender))
17+ then (extract(sender) == paymentTxId)
18+ else false)
19+ then sigVerify(a.bodyBytes, a.proofs[0], b.senderPublicKey)
20+ else false
21+ case _ =>
22+ false
23+ }
24+ }
1925 case c: TransferTransaction =>
2026 let participated = isDefined(getString(me, toBase58String(addressFromRecipient(c.recipient).bytes)))
2127 (sha256(toBytes(extract(getString(c.recipient, "answer")))) == answer)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let startHeight = 140000
44 let answer = base58'Bjj4AWTNrjQVHqgWbP2XaxXz4DYH1WZMyERHxsad7b2w'
55 let me = tx.sender
66 match tx {
77 case a: DataTransaction =>
8- let paymentTxId = extract(getString(a.data, 0))
9- let paymentTx = transactionById(fromBase58String(paymentTxId))
10- match paymentTx {
11- case b: TransferTransaction =>
12- let sender = getString(a.data, toBase58String(b.sender.bytes))
13- if (isDefined(sender))
14- then (extract(sender) == paymentTxId)
15- else false
16- case _ =>
17- false
18- }
8+ if ((size(a.data) == 0))
9+ then throw("data is empty")
10+ else {
11+ let paymentTxId = extract(getString(a.data, 0))
12+ let paymentTx = transactionById(fromBase58String(paymentTxId))
13+ match paymentTx {
14+ case b: TransferTransaction =>
15+ let sender = getString(a.data, toBase58String(b.sender.bytes))
16+ if (if (isDefined(sender))
17+ then (extract(sender) == paymentTxId)
18+ else false)
19+ then sigVerify(a.bodyBytes, a.proofs[0], b.senderPublicKey)
20+ else false
21+ case _ =>
22+ false
23+ }
24+ }
1925 case c: TransferTransaction =>
2026 let participated = isDefined(getString(me, toBase58String(addressFromRecipient(c.recipient).bytes)))
2127 (sha256(toBytes(extract(getString(c.recipient, "answer")))) == answer)
2228 case _ =>
2329 true
2430 }

github/deemru/w8io/3ef1775 
42.67 ms