tx · 81bz7vBk87CqzmV6sH9aN8fBZa1ALfwkCUDx341d97od

3My6kED2uUWAEFmNmUsKXAEwNE3pCeMmjRt:  -0.01400000 Waves

2019.02.07 07:52 [484193] smart account 3My6kED2uUWAEFmNmUsKXAEwNE3pCeMmjRt > SELF 0.00000000 Waves

{ "type": 13, "id": "81bz7vBk87CqzmV6sH9aN8fBZa1ALfwkCUDx341d97od", "fee": 1400000, "feeAssetId": null, "timestamp": 1549515146223, "version": 1, "sender": "3My6kED2uUWAEFmNmUsKXAEwNE3pCeMmjRt", "senderPublicKey": "3qrTmx4jsup6WcnWLUdfzZayosrNHVNwSV99S6KvZwPy", "proofs": [ "QoFhHQSyqgsiWoCvUjqfZDuXQU8KBYue4xrAXDKdvvxhMFcSyP3ej8pBUBUHHMEixnFbig6pZYDf7bEjWnpWBSV" ], "script": "base64:AQQAAAAJcGF5b3V0RmVlAAAAAAAAACcQBAAAAAJtZQgFAAAAAnR4AAAABnNlbmRlcgQAAAAOYWRtaW5QdWJsaWNLZXkBAAAAIGL/tLlOEe0sDiS9r51DryoSV3N4uUZ64Ihb66W6BLAnBAAAAAZhbnN3ZXIJAQAAAAdleHRyYWN0AAAAAQkABB0AAAACBQAAAAJtZQIAAAAGYW5zd2VyBAAAAAh0aWNrZXRJZAkAAlkAAAABCQEAAAAHZXh0cmFjdAAAAAEJAAQdAAAAAgUAAAACbWUCAAAABnRpY2tldAQAAAAJZ2FtZVByaWNlCQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAACbWUCAAAABXByaWNlBAAAAAtzdGFydEhlaWdodAkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIFAAAAAm1lAgAAAAZoZWlnaHQEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24EAAAABnR1bmluZwUAAAAHJG1hdGNoMAMJAAH0AAAAAwgFAAAABnR1bmluZwAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAABnR1bmluZwAAAAZwcm9vZnMAAAAAAAAAAAAFAAAADmFkbWluUHVibGljS2V5BgkAAAIAAAABAgAAABVZb3UgYXJlbid0IHF1aXogYWRtaW4DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAABnBheW91dAUAAAAHJG1hdGNoMAQAAAANdGlja2V0QmFsYW5jZQkAA+sAAAACCAUAAAAGcGF5b3V0AAAACXJlY2lwaWVudAUAAAAIdGlja2V0SWQEAAAABHBhaWQJAABnAAAAAgUAAAANdGlja2V0QmFsYW5jZQUAAAAJZ2FtZVByaWNlBAAAAAdzdGFydGVkCQAAZwAAAAIFAAAABmhlaWdodAUAAAALc3RhcnRIZWlnaHQEAAAAB2NvcnJlY3QJAAAAAAAAAgkAAloAAAABCAUAAAAGcGF5b3V0AAAACmF0dGFjaG1lbnQFAAAABmFuc3dlcgMJAQAAAAEhAAAAAQUAAAAEcGFpZAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAOWW91IG11c3QgaGF2ZSAJAAGkAAAAAQUAAAAJZ2FtZVByaWNlAgAAAAggdGlja2V0cwMJAQAAAAEhAAAAAQUAAAAHc3RhcnRlZAkAAAIAAAABAgAAABxUaGUgZ2FtZSBoYXMgbm90IHN0YXJ0ZWQgeWV0AwkBAAAAASEAAAABBQAAAAdjb3JyZWN0CQAAAgAAAAECAAAAGVRoZSBhbnN3ZXIgaXMgbm90IGNvcnJlY3QDCQAAAAAAAAIIBQAAAAZwYXlvdXQAAAADZmVlBQAAAAlwYXlvdXRGZWUJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAZwYXlvdXQAAAAKZmVlQXNzZXRJZAcG61J0uQ==", "chainId": 84, "height": 484193, "spentComplexity": 0 } View: original | compacted Prev: DcxcgTQyBRwYB1Fhw1RExW5yocQiNe2uNUrKdrTNSwgf Next: 7fdyGGHpdt7YMwSF7DJNDuaQtfYNQ3QeUSwJ5DKrZu4V Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
3-let payoutFee = 500000
3+let payoutFee = 10000
44 let me = tx.sender
5-let adminPublicKey = base58'22GEgQRoT3xuSPQTTBNofWLnYQsn2ZTwAzd5f51CMFeb'
6-let answer = extract(getBinary(me, "answer"))
5+let adminPublicKey = base58'7fT6vCaX5fAkqTzHGBTHyGGsfrFFSm8kUosN71qztfdY'
6+let answer = extract(getString(me, "answer"))
77 let ticketId = fromBase58String(extract(getString(me, "ticket")))
88 let gamePrice = extract(getInteger(me, "price"))
9+let startHeight = extract(getInteger(me, "height"))
910 match tx {
1011 case tuning: DataTransaction =>
1112 if (sigVerify(tuning.bodyBytes, tuning.proofs[0], adminPublicKey))
1415 case payout: TransferTransaction =>
1516 let ticketBalance = assetBalance(payout.recipient, ticketId)
1617 let paid = (ticketBalance >= gamePrice)
18+ let started = (height >= startHeight)
19+ let correct = (toBase64String(payout.attachment) == answer)
1720 if (!(paid))
1821 then throw((("You must have " + toString(gamePrice)) + " tickets"))
19- else {
20- let correct = (sha256(payout.attachment) == answer)
21- if (!(correct))
22- then throw("Incorrect answer")
22+ else if (!(started))
23+ then throw("The game has not started yet")
24+ else if (!(correct))
25+ then throw("The answer is not correct")
2326 else if ((payout.fee == payoutFee))
2427 then !(isDefined(payout.feeAssetId))
2528 else false
26- }
2729 case _ =>
2830 true
2931 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
3-let payoutFee = 500000
3+let payoutFee = 10000
44 let me = tx.sender
5-let adminPublicKey = base58'22GEgQRoT3xuSPQTTBNofWLnYQsn2ZTwAzd5f51CMFeb'
6-let answer = extract(getBinary(me, "answer"))
5+let adminPublicKey = base58'7fT6vCaX5fAkqTzHGBTHyGGsfrFFSm8kUosN71qztfdY'
6+let answer = extract(getString(me, "answer"))
77 let ticketId = fromBase58String(extract(getString(me, "ticket")))
88 let gamePrice = extract(getInteger(me, "price"))
9+let startHeight = extract(getInteger(me, "height"))
910 match tx {
1011 case tuning: DataTransaction =>
1112 if (sigVerify(tuning.bodyBytes, tuning.proofs[0], adminPublicKey))
1213 then true
1314 else throw("You aren't quiz admin")
1415 case payout: TransferTransaction =>
1516 let ticketBalance = assetBalance(payout.recipient, ticketId)
1617 let paid = (ticketBalance >= gamePrice)
18+ let started = (height >= startHeight)
19+ let correct = (toBase64String(payout.attachment) == answer)
1720 if (!(paid))
1821 then throw((("You must have " + toString(gamePrice)) + " tickets"))
19- else {
20- let correct = (sha256(payout.attachment) == answer)
21- if (!(correct))
22- then throw("Incorrect answer")
22+ else if (!(started))
23+ then throw("The game has not started yet")
24+ else if (!(correct))
25+ then throw("The answer is not correct")
2326 else if ((payout.fee == payoutFee))
2427 then !(isDefined(payout.feeAssetId))
2528 else false
26- }
2729 case _ =>
2830 true
2931 }

github/deemru/w8io/3ef1775 
40.95 ms