tx · 6nPmjfhruG1RevJorJ8yRSwSjSoSAGm7Gb9AjYQJAaYw

3MpCYRCcvnsGSt9HsY8EbziFE8aQsPBeGSp:  -0.05000000 Waves

2020.10.07 11:37 [1209925] smart account 3MpCYRCcvnsGSt9HsY8EbziFE8aQsPBeGSp > SELF 0.00000000 Waves

{ "type": 13, "id": "6nPmjfhruG1RevJorJ8yRSwSjSoSAGm7Gb9AjYQJAaYw", "fee": 5000000, "feeAssetId": null, "timestamp": 1602059859064, "version": 2, "chainId": 84, "sender": "3MpCYRCcvnsGSt9HsY8EbziFE8aQsPBeGSp", "senderPublicKey": "EDsT8xniB2ycm6wVZJ2XcrakhVsfC7vCemAx3gk3iopu", "proofs": [ "3zCLEgcKubSXzGuyEg23RgShkHHNqfeAYVf9txrFy9zwnEMGWBKW5np9yapbWC1NEDpdeYgXt59Vfsgu9pwSL1xC" ], "script": "base64:AgQAAAAEdGhpcwkBAAAAB2V4dHJhY3QAAAABCAUAAAACdHgAAAAGc2VuZGVyBAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAQAAAANY29ycmVjdEFuc3dlcgkBAAAAB2V4dHJhY3QAAAABCQAEHAAAAAIFAAAABHRoaXMCAAAADWhhc2hlZCBhbnN3ZXIEAAAABmFuc3dlcgkAAfUAAAABCAUAAAABdAAAAAphdHRhY2htZW50AwkAAAAAAAACBQAAAA1jb3JyZWN0QW5zd2VyBQAAAAZhbnN3ZXIJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAF0AAAAB2Fzc2V0SWQHAwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPRGF0YVRyYW5zYWN0aW9uBgkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAABcwUAAAAHJG1hdGNoMAkAAfQAAAADCAUAAAABcwAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAXMAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAABcwAAAA9zZW5kZXJQdWJsaWNLZXkHnYrj7g==", "height": 1209925, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GVqpPzhvencnvtMMAbkzwqHnTmHyPq8Ktvut9KnkxCHm Next: GuW8kF8vadd3ENbTHZ5mozUxTsdq17JE8xAkDZnuJRx8 Full:
OldNewDifferences
1-{-# STDLIB_VERSION 3 #-}
2-{-# SCRIPT_TYPE ACCOUNT #-}
3-{-# CONTENT_TYPE DAPP #-}
4-let lpKey = "lastPayment"
5-
6-let liKey = "bestFomoer"
7-
8-let lhKey = "height"
9-
10-let day = 1440
11-
12-@Callable(i)
13-func fearmissing () = {
14- let payment = match i.payment {
15- case p: AttachedPayment =>
16- match p.assetId {
17- case assetId: ByteVector =>
18- throw("fomo waves only")
19- case _ =>
20- p.amount
21- }
22- case _ =>
23- throw("payment must be attached")
24- }
25- let lastPayment = match getInteger(this, "lastPayment") {
26- case p: Int =>
27- p
28- case _ =>
29- 0
30- }
31- if ((lastPayment >= payment))
32- then throw(("min payment is " + toString(payment)))
33- else WriteSet([DataEntry(lpKey, payment), DataEntry(liKey, i.caller.bytes), DataEntry(lhKey, height)])
34- }
35-
36-
37-
38-@Callable(i)
39-func withdraw () = {
40- let callerCorrect = (i.caller.bytes == extract(getBinary(this, liKey)))
41- let heightCorrect = ((extract(getInteger(this, lhKey)) - height) >= day)
42- let canWithdraw = if (heightCorrect)
43- then callerCorrect
44- else false
45- if (canWithdraw)
46- then TransferSet([ScriptTransfer(i.caller, wavesBalance(this), unit)])
47- else throw("behold")
48- }
49-
50-
1+{-# STDLIB_VERSION 2 #-}
2+{-# CONTENT_TYPE EXPRESSION #-}
3+let this = extract(tx.sender)
4+match tx {
5+ case t: TransferTransaction =>
6+ let correctAnswer = extract(getBinary(this, "hashed answer"))
7+ let answer = keccak256(t.attachment)
8+ if ((correctAnswer == answer))
9+ then !(isDefined(t.assetId))
10+ else false
11+ case s: DataTransaction|SetScriptTransaction =>
12+ sigVerify(s.bodyBytes, s.proofs[0], s.senderPublicKey)
13+ case _ =>
14+ false
15+}

github/deemru/w8io/169f3d6 
33.60 ms