tx · CBwC6AtuALBkQ92ondLn5A3mtvhJ5UGhbJwNHYZ29pDv

3MvCLdwRiQSNrhgumfFunsbyUJUw6ViTMwB:  -0.01000000 Waves

2021.08.19 15:09 [1665219] smart account 3MvCLdwRiQSNrhgumfFunsbyUJUw6ViTMwB > SELF 0.00000000 Waves

{ "type": 13, "id": "CBwC6AtuALBkQ92ondLn5A3mtvhJ5UGhbJwNHYZ29pDv", "fee": 1000000, "feeAssetId": null, "timestamp": 1629374976983, "version": 2, "chainId": 84, "sender": "3MvCLdwRiQSNrhgumfFunsbyUJUw6ViTMwB", "senderPublicKey": "9Vbnf3b9hhuCerzPXf38mLo8mUGTPNVW3jtQRbymjaSw", "proofs": [ "5WMHfjDTPPCruKDmshGoAVvxgsNiXr5HdoQT3JPrfg15j3FYmpDC2iZL1TU2ZmRGowLaBLhvdrbTgHP8fn3uo6Dd" ], "script": "base64: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AAZnYW1lSWQCAAAAE193YWl0aW5nX2VuZF9oZWlnaHQBAAAAF2dldEdhbWVXYWl0aW5nRW5kSGVpZ2h0AAAAAQAAAAZnYW1lSWQJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAAGmdldEdhbWVXYWl0aW5nRW5kSGVpZ2h0S2V5AAAAAQUAAAAGZ2FtZUlkAQAAABRnZXRHYW1lT3ZlckhlaWdodEtleQAAAAEAAAAGZ2FtZUlkCQABLAAAAAIJAAEsAAAAAgIAAAAFZ2FtZV8JAAGkAAAAAQUAAAAGZ2FtZUlkAgAAAAxfb3Zlcl9oZWlnaHQBAAAAEWdldEdhbWVPdmVySGVpZ2h0AAAAAQAAAAZnYW1lSWQJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAAGmdldEdhbWVXYWl0aW5nRW5kSGVpZ2h0S2V5AAAAAQUAAAAGZ2FtZUlkAQAAABVnZXRHYW1lUmFyaXR5UmFuZ2VLZXkAAAACAAAABmdhbWVJZAAAAA1yYW5nZVBvc2l0aW9uCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAVnYW1lXwkAAaQAAAABBQAAAAZnYW1lSWQCAAAADV9yYXJpdHlSYW5nZV8FAAAADXJhbmdlUG9zaXRpb24BAAAAEmdldEdhbWVSYXJpdHlSYW5nZQAAAAIAAAAGZ2FtZUlkAAAADXJhbmdlUG9zaXRpb24JAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAAFWdldEdhbWVSYXJpdHlSYW5nZUtleQAAAAIFAAAABmdhbWVJZAUAAAANcmFuZ2VQb3NpdGlvbgEAAAAOZ2V0R2FtZVN0ZXBLZXkAAAABAAAABmdhbWVJZAkAASwAAAACCQABLAAAAAICAAAABWdhbWVfCQABpAAAAAEFAAAABmdhbWVJZAIAAAAFX3N0ZXABAAAAC2dldEdhbWVTdGVwAAAAAQAAAAZnYW1lSWQJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAADmdldEdhbWVTdGVwS2V5AAAAAQUAAAAGZ2FtZUlkAQAAAAxnZXRSYXJpdHlLZXkAAAADAAAABmdhbWVJZAAAAAZwbGF5ZXIAAAANcmFuZ2VQb3NpdGlvbgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAFZ2FtZV8JAAGkAAAAAQUAAAAGZ2FtZUlkAgAAAAFfBQAAAAZwbGF5ZXICAAAAAV8FAAAADXJhbmdlUG9zaXRpb24CAAAABlJhcml0eQEAAAAJZ2V0UmFyaXR5AAAAAwAAAAZnYW1lSWQAAAAGcGxheWVyAAAADXJhbmdlUG9zaXRpb24JAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAADGdldFJhcml0eUtleQAAAAMFAAAABmdhbWVJZAUAAAAGcGxheWVyBQAAAA1yYW5nZVBvc2l0aW9uAQAAAAxnZXRDb21taXRLZXkAAAACAAAABmdhbWVJZAAAAAZwbGF5ZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAFZ2FtZV8JAAGkAAAAAQUAAAAGZ2FtZUlkAgAAAAFfBQAAAAZwbGF5ZXICAAAAB19jb21taXQBAAAACWdldENvbW1pdAAAAAIAAAAGZ2FtZUlkAAAABnBsYXllcgkBAAAADHRyeUdldFN0cmluZwAAAAEJAQAAAAxnZXRDb21taXRLZXkAAAACBQAAAAZnYW1lSWQFAAAABnBsYXllcgEAAAAPZ2V0RHVja09yZGVyS2V5AAAAAgAAAAZnYW1lSWQAAAAGcGxheWVyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABWdhbWVfCQABpAAAAAEFAAAABmdhbWVJZAIAAAABXwUAAAAGcGxheWVyAgAAAApfZHVja09yZGVyAQAAAAxnZXREdWNrT3JkZXIAAAACAAAABmdhbWVJZAAAAAZwbGF5ZXIJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQEAAAAPZ2V0RHVja09yZGVyS2V5AAAAAgUAAAAGZ2FtZUlkBQAAAAZwbGF5ZXIBAAAAD2dldFByaXplU2VudEtleQAAAAIAAAAGZ2FtZUlkAAAABnBsYXllcgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAVnYW1lXwkAAaQAAAABBQAAAAZnYW1lSWQCAAAAAV8FAAAABnBsYXllcgIAAAAPX3dpdGhkcmF3U3RhdHVzAQAAAAxnZXRQcml6ZVNlbnQAAAACAAAABmdhbWVJZAAAAAZwbGF5ZXIJAQAAAA10cnlHZXRCb29sZWFuAAAAAQkBAAAAD2dldFByaXplU2VudEtleQAAAAIFAAAABmdhbWVJZAUAAAAGcGxheWVyAQAAAAhwaWNrRHVjawAAAAcAAAAGZ2FtZUlkAAAACnBsYXllclJvbGUAAAANcGxheWVyQWRkcmVzcwAAAAdhc3NldElkAAAABnJhcml0eQAAAA1yYW5nZVBvc2l0aW9uAAAABHN0ZXAEAAAAC3Jhcml0eVJhbmdlCQEAAAASZ2V0R2FtZVJhcml0eVJhbmdlAAAAAgUAAAAGZ2FtZUlkBQAAAA1yYW5nZVBvc2l0aW9uAwMDAwkAAAAAAAACBQAAAAtyYXJpdHlSYW5nZQAAAAAAAAAABQkAAGYAAAACAAAAAAAAAAAoBQAAAAZyYXJpdHkHBgkAAGcAAAACBQAAAAZyYXJpdHkJAABoAAAAAgUAAAALcmFyaXR5UmFuZ2UAAAAAAAAAAAoGCQAAZgAAAAIJAABoAAAAAgkAAGUAAAACBQAAAAtyYXJpdHlSYW5nZQAAAAAAAAAAAQAAAAAAAAAACgUAAAAGcmFyaXR5CQAAAgAAAAECAAAAJlRoaXMgZHVjayBkb2Vzbid0IGZpdCB0aGUgcmFyaXR5IHJhbmdlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAMZ2V0UmFyaXR5S2V5AAAAAwUAAAAGZ2FtZUlkBQAAAApwbGF5ZXJSb2xlBQAAAA1yYW5nZVBvc2l0aW9uBQAAAAZyYXJpdHkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA5nZXRHYW1lU3RlcEtleQAAAAEFAAAABmdhbWVJZAkAAGQAAAACBQAAAARzdGVwAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAUZ2V0R2FtZU92ZXJIZWlnaHRLZXkAAAABBQAAAAZnYW1lSWQJAABkAAAAAgUAAAAGaGVpZ2h0BQAAAAxzdGVwRHVyYXRpb24JAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAANcGxheWVyQWRkcmVzcwAAAAAAAAAAAQUAAAAHYXNzZXRJZAUAAAADbmlsAQAAAAhnZXRTY29yZQAAAAIAAAABYQAAAAFiAwkAAGYAAAACBQAAAAFhBQAAAAFiAAAAAAAAAAABAwkAAGYAAAACBQAAAAFiBQAAAAFhAP//////////AAAAAAAAAAAAAQAAAAlnZXRXaW5uZXIAAAABAAAABmdhbWVJZAQAAAAObWFrZXJEdWNrT3JkZXIJAAS1AAAAAgkBAAAADGdldER1Y2tPcmRlcgAAAAIFAAAABmdhbWVJZAIAAAAFbWFrZXICAAAAASwEAAAADnRha2VyRHVja09yZGVyCQAEtQAAAAIJAQAAAAxnZXREdWNrT3JkZXIAAAACBQAAAAZnYW1lSWQCAAAABXRha2VyAgAAAAEsBAAAAAxtYWtlclJhcml0eTEJAQAAAAlnZXRSYXJpdHkAAAADBQAAAAZnYW1lSWQCAAAABW1ha2VyCQABkQAAAAIFAAAADm1ha2VyRHVja09yZGVyAAAAAAAAAAAABAAAAAxtYWtlclJhcml0eTIJAQAAAAlnZXRSYXJpdHkAAAADBQAAAAZnYW1lSWQCAAAABW1ha2VyCQABkQAAAAIFAAAADm1ha2VyRHVja09yZGVyAAAAAAAAAAABBAAAAAxtYWtlclJhcml0eTMJAQAAAAlnZXRSYXJpdHkAAAADBQAAAAZnYW1lSWQCAAAABW1ha2VyCQABkQAAAAIFAAAADm1ha2VyRHVja09yZGVyAAAAAAAAAAACBAAAAAx0YWtlclJhcml0eTEJAQAAAAlnZXRSYXJpdHkAAAADBQAAAAZnYW1lSWQCAAAABXRha2VyCQABkQAAAAIFAAAADm1ha2VyRHVja09yZGVyAAAAAAAAAAAABAAAAAx0YWtlclJhcml0eTIJAQAAAAlnZXRSYXJpdHkAAAADBQAAAAZnYW1lSWQCAAAABXRha2VyCQABkQAAAAIFAAAADm1ha2VyRHVja09yZGVyAAAAAAAAAAABBAAAAAx0YWtlclJhcml0eTMJAQAAAAlnZXRSYXJpdHkAAAADBQAAAAZnYW1lSWQCAAAABXRha2VyCQABkQAAAAIFAAAADm1ha2VyRHVja09yZGVyAAAAAAAAAAACBAAAAAptYWtlclNjb3JlCQAAZAAAAAIJAABkAAAAAgkBAAAACGdldFNjb3JlAAAAAgUAAAAMbWFrZXJSYXJpdHkxBQAAAAx0YWtlclJhcml0eTEJAQAAAAhnZXRTY29yZQAAAAIFAAAADG1ha2VyUmFyaXR5MgUAAAAMdGFrZXJSYXJpdHkyCQEAAAAIZ2V0U2NvcmUAAAACBQAAAAxtYWtlclJhcml0eTMFAAAADHRha2VyUmFyaXR5MwMJAABmAAAAAgUAAAAKbWFrZXJTY29yZQAAAAAAAAAAAAIAAAAFbWFrZXIDCQAAZgAAAAIAAAAAAAAAAAAFAAAACm1ha2VyU2NvcmUCAAAABXRha2VyAgAAAARkcmF3AQAAABBnZXRXaW5uZXJFeHBpcmVkAAAAAQAAAAhnYW1lU3RlcAMDAwMDCQAAAAAAAAIFAAAACGdhbWVTdGVwAAAAAAAAAAAABgkAAAAAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAAAwYJAAAAAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAQGCQAAAAAAAAIFAAAACGdhbWVTdGVwAAAAAAAAAAAHBgkAAAAAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAACQIAAAAFbWFrZXIDAwMDAwkAAAAAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAAAQYJAAAAAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAIGCQAAAAAAAAIFAAAACGdhbWVTdGVwAAAAAAAAAAAFBgkAAAAAAAACBQAAAAhnYW1lU3RlcAAAAAAAAAAABgYJAAAAAAAAAgUAAAAIZ2FtZVN0ZXAAAAAAAAAAAAgCAAAABXRha2VyAgAAAARkcmF3AQAAAAlzZW5kUHJpemUAAAAEAAAABmdhbWVJZAAAAA1wbGF5ZXJBZGRyZXNzAAAACnBsYXllclJvbGUAAAAGd2lubmVyAwkBAAAADGdldFByaXplU2VudAAAAAIFAAAABmdhbWVJZAUAAAAKcGxheWVyUm9sZQkAAAIAAAABAgAAAB5Zb3UgaGF2ZSBhbHJlYWR5IGdvdCB0aGUgcHJpemUDCQAAAAAAAAIFAAAABndpbm5lcgUAAAAKcGxheWVyUm9sZQkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkBAAAAD2dldFByaXplU2VudEtleQAAAAIFAAAABmdhbWVJZAUAAAAKcGxheWVyUm9sZQYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAANcGxheWVyQWRkcmVzcwkAAGgAAAACCQEAAAAKZ2V0QmV0RWdncwAAAAEFAAAABmdhbWVJZAAAAAAAAAAAAgUAAAALZWdnc0Fzc2V0SWQFAAAAA25pbAMJAAAAAAAAAgUAAAAGd2lubmVyAgAAAARkcmF3CQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQEAAAAPZ2V0UHJpemVTZW50S2V5AAAAAgUAAAAGZ2FtZUlkBQAAAApwbGF5ZXJSb2xlBgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA1wbGF5ZXJBZGRyZXNzCQEAAAAKZ2V0QmV0RWdncwAAAAEFAAAABmdhbWVJZAUAAAALZWdnc0Fzc2V0SWQFAAAAA25pbAkAAAIAAAABAgAAACFZb3UgbG9zZSBhbmQgZG9uJ3QgaGF2ZSBhbnkgcHJpemUAAAAKAAAAAWkBAAAACG1ha2VHYW1lAAAABAAAAARzbG90AAAAEHJhcml0eVJhbmdlV29yc3QAAAARcmFyaXR5UmFuZ2VNZWRpdW0AAAAPcmFyaXR5UmFuZ2VCZXN0BAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAACnNsb3RHYW1lSWQJAQAAAAdnZXRTbG90AAAAAQUAAAAEc2xvdAQAAAAHcGF5bWVudAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAEZWdncwkAAGUAAAACCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAACG1ha2VyRmVlBAAAAAZnYW1lSWQJAQAAAA1nZXROZXh0R2FtZUlkAAAAAAMJAQAAAAIhPQAAAAIIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQFAAAAC2VnZ3NBc3NldElkCQAAAgAAAAEJAAEsAAAAAgIAAAA2WW91IGNhbiBhdHRhY2ggb25seSBFR0dzIHdpdGggdGhlIGZvbGxvd2luZyBhc3NldCBpZDogCQACWAAAAAEFAAAAC2VnZ3NBc3NldElkAwkAAGYAAAACAAAAAAAAAAAABQAAAARlZ2dzCQAAAgAAAAECAAAAD05vdCBlbm91Z2ggRUdHcwMJAAAAAAAAAgUAAAAEZWdncwAAAAAAAAAAAAkAAAIAAAABAgAAABRZb3UgY2FuJ3QgYmV0IDAgRUdHcwMJAQAAAAIhPQAAAAIJAQAAABJnZXRVc2VyQ3VycmVudEdhbWUAAAABBQAAAA1jYWxsZXJBZGRyZXNzAAAAAAAAAAAACQAAAgAAAAECAAAAH1lvdSBhbHJlYWR5IGhhdmUgYW4gYWN0aXZlIGdhbWUDAwkAAGYAAAACAAAAAAAAAAAABQAAAARzbG90BgkAAGcAAAACBQAAAARzbG90BQAAAAVTTE9UUwkAAAIAAAABAgAAAAxJbnZhbGlkIHNsb3QDCQEAAAACIT0AAAACBQAAAApzbG90R2FtZUlkAAAAAAAAAAAACQAAAgAAAAECAAAAEVRoaXMgc2xvdCBpcyBidXN5AwMJAABmAAAAAgAAAAAAAAAAAQUAAAAQcmFyaXR5UmFuZ2VXb3JzdAYJAABmAAAAAgUAAAAQcmFyaXR5UmFuZ2VXb3JzdAAAAAAAAAAABQkAAAIAAAABAgAAACxJbnN1ZmZpY2llbnQgcmFyaXR5IHJhbmdlIGZvciB0aGUgd29yc3QgZHVjawMDCQAAZgAAAAIAAAAAAAAAAAEFAAAAEXJhcml0eVJhbmdlTWVkaXVtBgkAAGYAAAACBQAAABFyYXJpdHlSYW5nZU1lZGl1bQAAAAAAAAAABQkAAAIAAAABAgAAAC1JbnN1ZmZpY2llbnQgcmFyaXR5IHJhbmdlIGZvciB0aGUgbWVkaXVtIGR1Y2sDAwkAAGYAAAACAAAAAAAAAAABBQAAAA9yYXJpdHlSYW5nZUJlc3QGCQAAZgAAAAIFAAAAD3Jhcml0eVJhbmdlQmVzdAAAAAAAAAAABQkAAAIAAAABAgAAACtJbnN1ZmZpY2llbnQgcmFyaXR5IHJhbmdlIGZvciB0aGUgYmVzdCBkdWNrAwkAAGcAAAACBQAAABByYXJpdHlSYW5nZVdvcnN0BQAAABFyYXJpdHlSYW5nZU1lZGl1bQkAAAIAAAABAgAAADFUaGUgbWVkaXVtIGR1Y2sgbXVzdCBiZSBiZXR0ZXIgdGhhbiB0aGUgd29yc3Qgb25lAwkAAGcAAAACBQAAABFyYXJpdHlSYW5nZU1lZGl1bQUAAAAPcmFyaXR5UmFuZ2VCZXN0CQAAAgAAAAECAAAAMFRoZSBiZXN0IGR1Y2sgbXVzdCBiZSBiZXR0ZXIgdGhhbiB0aGUgbWVkaXVtIG9uZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWdldFVzZXJDdXJyZW50R2FtZUtleQAAAAEFAAAADWNhbGxlckFkZHJlc3MFAAAABmdhbWVJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPZ2V0R2FtZU1ha2VyS2V5AAAAAQUAAAAGZ2FtZUlkBQAAAA1jYWxsZXJBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAANZ2V0QmV0RWdnc0tleQAAAAEFAAAABmdhbWVJZAUAAAAEZWdncwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWdldEdhbWVSYXJpdHlSYW5nZUtleQAAAAIFAAAABmdhbWVJZAIAAAAFd29yc3QFAAAAEHJhcml0eVJhbmdlV29yc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABVnZXRHYW1lUmFyaXR5UmFuZ2VLZXkAAAACBQAAAAZnYW1lSWQCAAAABm1lZGl1bQUAAAARcmFyaXR5UmFuZ2VNZWRpdW0JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABVnZXRHYW1lUmFyaXR5UmFuZ2VLZXkAAAACBQAAAAZnYW1lSWQCAAAABGJlc3QFAAAAD3Jhcml0eVJhbmdlQmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAGmdldEdhbWVXYWl0aW5nRW5kSGVpZ2h0S2V5AAAAAQUAAAAGZ2FtZUlkCQAAZAAAAAIFAAAABmhlaWdodAUAAAAHV0FJVElORwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAACmdldFNsb3RLZXkAAAABBQAAAARzbG90BQAAAAZnYW1lSWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADG5leHRfZ2FtZV9pZAkAAGQAAAACBQAAAAZnYW1lSWQAAAAAAAAAAAEFAAAAA25pbAAAAAFpAQAAAAh0YWtlR2FtZQAAAAEAAAAEc2xvdAQAAAANY2FsbGVyQWRkcmVzcwkA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", "height": 1665219, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: Y4n6CNaHLGhmgic5CfGH5Ux1MEDL2j2swvX64QS4odX Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = base58'3PEktVux2RhchSN63DsDo4b4mz4QqzKSeDv'
5+
6+let b = base58'3PDVuU45H7Eh5dmtNbnRNRStGwULA7NY6Hb'
7+
8+let c = base58''
9+
10+let d = base58'JCGDtrVy64cCJ1wCKfCaiNQMnyYwii71TbE5QeAHfxgF'
11+
12+let e = 1
13+
14+let f = 1
15+
16+let g = 10
17+
18+let h = 5
19+
20+let i = 3
21+
22+func j (k) = {
23+ let l = getInteger(this, k)
24+ if ($isInstanceOf(l, "Int"))
25+ then {
26+ let m = l
27+ m
28+ }
29+ else 0
30+ }
31+
32+
33+func n (k) = {
34+ let l = getString(this, k)
35+ if ($isInstanceOf(l, "String"))
36+ then {
37+ let o = l
38+ o
39+ }
40+ else ""
41+ }
42+
43+
44+func p (k) = {
45+ let l = getBoolean(this, k)
46+ if ($isInstanceOf(l, "Boolean"))
47+ then {
48+ let m = l
49+ m
50+ }
51+ else false
52+ }
53+
54+
55+func q () = {
56+ let r = j("next_game_id")
57+ if ((r == 0))
58+ then 1
59+ else r
60+ }
61+
62+
63+func s (t) = ("current_game_" + t)
64+
65+
66+func u (t) = j(s(t))
67+
68+
69+func v (w) = ("slot_" + toString(w))
70+
71+
72+func x (w) = j(v(w))
73+
74+
75+func y (z) = (("game_" + toString(z)) + "_maker")
76+
77+
78+func A (z) = n(y(z))
79+
80+
81+func B (z) = (("game_" + toString(z)) + "_taker")
82+
83+
84+func C (z) = n(B(z))
85+
86+
87+func D (z) = (("game_" + toString(z)) + "_bet_eggs")
88+
89+
90+func E (z) = j(D(z))
91+
92+
93+func F (z) = (("game_" + toString(z)) + "_waiting_end_height")
94+
95+
96+func G (z) = j(F(z))
97+
98+
99+func H (z) = (("game_" + toString(z)) + "_over_height")
100+
101+
102+func I (z) = j(F(z))
103+
104+
105+func J (z,K) = ((("game_" + toString(z)) + "_rarityRange_") + K)
106+
107+
108+func L (z,K) = j(J(z, K))
109+
110+
111+func M (z) = (("game_" + toString(z)) + "_step")
112+
113+
114+func N (z) = j(M(z))
115+
116+
117+func O (z,P,K) = (((((("game_" + toString(z)) + "_") + P) + "_") + K) + "Rarity")
118+
119+
120+func Q (z,P,K) = j(O(z, P, K))
121+
122+
123+func R (z,P) = (((("game_" + toString(z)) + "_") + P) + "_commit")
124+
125+
126+func S (z,P) = n(R(z, P))
127+
128+
129+func T (z,P) = (((("game_" + toString(z)) + "_") + P) + "_duckOrder")
130+
131+
132+func U (z,P) = n(T(z, P))
133+
134+
135+func V (z,P) = (((("game_" + toString(z)) + "_") + P) + "_withdrawStatus")
136+
137+
138+func W (z,P) = p(V(z, P))
139+
140+
141+func X (z,Y,Z,aa,ab,K,ac) = {
142+ let ad = L(z, K)
143+ if (if (if (if ((ad == 5))
144+ then (40 > ab)
145+ else false)
146+ then true
147+ else (ab >= (ad * 10)))
148+ then true
149+ else (((ad - 1) * 10) > ab))
150+ then throw("This duck doesn't fit the rarity range")
151+ else [IntegerEntry(O(z, Y, K), ab), IntegerEntry(M(z), (ac + 1)), IntegerEntry(H(z), (height + i)), ScriptTransfer(Z, 1, aa)]
152+ }
153+
154+
155+func ae (o,m) = if ((o > m))
156+ then 1
157+ else if ((m > o))
158+ then -1
159+ else 0
160+
161+
162+func af (z) = {
163+ let ag = split(U(z, "maker"), ",")
164+ let ah = split(U(z, "taker"), ",")
165+ let ai = Q(z, "maker", ag[0])
166+ let aj = Q(z, "maker", ag[1])
167+ let ak = Q(z, "maker", ag[2])
168+ let al = Q(z, "taker", ag[0])
169+ let am = Q(z, "taker", ag[1])
170+ let an = Q(z, "taker", ag[2])
171+ let ao = ((ae(ai, al) + ae(aj, am)) + ae(ak, an))
172+ if ((ao > 0))
173+ then "maker"
174+ else if ((0 > ao))
175+ then "taker"
176+ else "draw"
177+ }
178+
179+
180+func ap (aq) = if (if (if (if (if ((aq == 0))
181+ then true
182+ else (aq == 3))
183+ then true
184+ else (aq == 4))
185+ then true
186+ else (aq == 7))
187+ then true
188+ else (aq == 9))
189+ then "maker"
190+ else if (if (if (if (if ((aq == 1))
191+ then true
192+ else (aq == 2))
193+ then true
194+ else (aq == 5))
195+ then true
196+ else (aq == 6))
197+ then true
198+ else (aq == 8))
199+ then "taker"
200+ else "draw"
201+
202+
203+func ar (z,Z,Y,as) = if (W(z, Y))
204+ then throw("You have already got the prize")
205+ else if ((as == Y))
206+ then [BooleanEntry(V(z, Y), true), ScriptTransfer(Z, (E(z) * 2), d)]
207+ else if ((as == "draw"))
208+ then [BooleanEntry(V(z, Y), true), ScriptTransfer(Z, E(z), d)]
209+ else throw("You lose and don't have any prize")
210+
211+
212+@Callable(at)
213+func makeGame (w,au,av,aw) = {
214+ let ax = toBase58String(at.caller.bytes)
215+ let ay = x(w)
216+ let az = value(at.payments[0])
217+ let aA = (az.amount - e)
218+ let z = q()
219+ if ((az.assetId != d))
220+ then throw(("You can attach only EGGs with the following asset id: " + toBase58String(d)))
221+ else if ((0 > aA))
222+ then throw("Not enough EGGs")
223+ else if ((aA == 0))
224+ then throw("You can't bet 0 EGGs")
225+ else if ((u(ax) != 0))
226+ then throw("You already have an active game")
227+ else if (if ((0 > w))
228+ then true
229+ else (w >= g))
230+ then throw("Invalid slot")
231+ else if ((ay != 0))
232+ then throw("This slot is busy")
233+ else if (if ((1 > au))
234+ then true
235+ else (au > 5))
236+ then throw("Insufficient rarity range for the worst duck")
237+ else if (if ((1 > av))
238+ then true
239+ else (av > 5))
240+ then throw("Insufficient rarity range for the medium duck")
241+ else if (if ((1 > aw))
242+ then true
243+ else (aw > 5))
244+ then throw("Insufficient rarity range for the best duck")
245+ else if ((au >= av))
246+ then throw("The medium duck must be better than the worst one")
247+ else if ((av >= aw))
248+ then throw("The best duck must be better than the medium one")
249+ else [IntegerEntry(s(ax), z), StringEntry(y(z), ax), IntegerEntry(D(z), aA), IntegerEntry(J(z, "worst"), au), IntegerEntry(J(z, "medium"), av), IntegerEntry(J(z, "best"), aw), IntegerEntry(F(z), (height + h)), IntegerEntry(v(w), z), IntegerEntry("next_game_id", (z + 1))]
250+ }
251+
252+
253+
254+@Callable(at)
255+func takeGame (w) = {
256+ let ax = toBase58String(at.caller.bytes)
257+ let z = x(w)
258+ let az = value(at.payments[0])
259+ if ((x(w) == 0))
260+ then throw("This slot is empty")
261+ else if ((az.assetId != d))
262+ then throw(("You can attach only EGG tokens with the following asset id: " + toBase58String(d)))
263+ else if ((az.amount != (E(z) + f)))
264+ then throw("Insufficient eggs amount")
265+ else if ((C(z) != ""))
266+ then throw("This game is already taken")
267+ else if ((height >= G(z)))
268+ then throw("This game is expired")
269+ else [IntegerEntry(s(ax), z), StringEntry(B(z), ax), IntegerEntry(H(z), (height + i)), IntegerEntry(v(w), 0)]
270+ }
271+
272+
273+
274+@Callable(at)
275+func kickGame (w) = {
276+ let z = x(w)
277+ if (if ((0 > w))
278+ then true
279+ else (w >= g))
280+ then throw("Invalid slot")
281+ else if ((z == 0))
282+ then throw("Slot is empty")
283+ else if ((G(z) > height))
284+ then throw("Waiting is not finished yet")
285+ else if ((C(z) != ""))
286+ then throw("This game is started")
287+ else {
288+ let aB = A(z)
289+[IntegerEntry(s(aB), 0), IntegerEntry(v(w), 0), ScriptTransfer(Address(toBytes(aB)), (E(z) + e), d)]
290+ }
291+ }
292+
293+
294+
295+@Callable(at)
296+func pickWorstDuck (z) = {
297+ let ax = toBase58String(at.caller.bytes)
298+ let aa = value(value(at.payments[0]).assetId)
299+ let aq = N(z)
300+ if (if ((value(assetInfo(aa)).issuer != Address(b)))
301+ then (value(assetInfo(aa)).issuer != Address(a))
302+ else false)
303+ then throw("Invalid NFT")
304+ else if ((aq == 0))
305+ then if ((ax != C(z)))
306+ then throw("It is the taker's turn to pick now")
307+ else {
308+ let aC = invoke(Address(c), "getAssetRarityCallable", [aa], nil)
309+ if ((aC == aC))
310+ then {
311+ let ab = {
312+ let l = aC
313+ if ($isInstanceOf(l, "Int"))
314+ then {
315+ let aD = l
316+ aD
317+ }
318+ else throw("Incorrect invoke result")
319+ }
320+ X(z, "taker", at.caller, aa, ab, "worst", 0)
321+ }
322+ else throw("Strict value is not equal to itself.")
323+ }
324+ else if ((aq == 1))
325+ then if ((ax != A(z)))
326+ then throw("It is the maker's turn to pick now")
327+ else {
328+ let aC = invoke(Address(c), "getAssetRarityCallable", [aa], nil)
329+ if ((aC == aC))
330+ then {
331+ let ab = {
332+ let l = aC
333+ if ($isInstanceOf(l, "Int"))
334+ then {
335+ let aD = l
336+ aD
337+ }
338+ else throw("Incorrect invoke result")
339+ }
340+ X(z, "maker", at.caller, aa, ab, "worst", 1)
341+ }
342+ else throw("Strict value is not equal to itself.")
343+ }
344+ else throw("The worst duck has already been picked")
345+ }
346+
347+
348+
349+@Callable(at)
350+func pickMediumtDuck (z) = {
351+ let ax = toBase58String(at.caller.bytes)
352+ let aa = value(value(at.payments[0]).assetId)
353+ let aq = N(z)
354+ if (if ((value(assetInfo(aa)).issuer != Address(b)))
355+ then (value(assetInfo(aa)).issuer != Address(a))
356+ else false)
357+ then throw("Invalid NFT")
358+ else if ((2 > aq))
359+ then throw("The medium duck must be picked after the worst one")
360+ else if ((aq == 2))
361+ then if ((ax != A(z)))
362+ then throw("It is the maker's turn to pick now")
363+ else {
364+ let aC = invoke(Address(c), "getAssetRarityCallable", [aa], nil)
365+ if ((aC == aC))
366+ then {
367+ let ab = {
368+ let l = aC
369+ if ($isInstanceOf(l, "Int"))
370+ then {
371+ let aD = l
372+ aD
373+ }
374+ else throw("Incorrect invoke result")
375+ }
376+ X(z, "maker", at.caller, aa, ab, "medium", 2)
377+ }
378+ else throw("Strict value is not equal to itself.")
379+ }
380+ else if ((aq == 3))
381+ then if ((ax != C(z)))
382+ then throw("It is the taker's turn to pick now")
383+ else {
384+ let aC = invoke(Address(c), "getAssetRarityCallable", [aa], nil)
385+ if ((aC == aC))
386+ then {
387+ let ab = {
388+ let l = aC
389+ if ($isInstanceOf(l, "Int"))
390+ then {
391+ let aD = l
392+ aD
393+ }
394+ else throw("Incorrect invoke result")
395+ }
396+ X(z, "taker", at.caller, aa, ab, "medium", 3)
397+ }
398+ else throw("Strict value is not equal to itself.")
399+ }
400+ else throw("The medium duck has already been picked")
401+ }
402+
403+
404+
405+@Callable(at)
406+func pickBestDuck (z) = {
407+ let ax = toBase58String(at.caller.bytes)
408+ let aa = value(value(at.payments[0]).assetId)
409+ let aq = N(z)
410+ if (if ((value(assetInfo(aa)).issuer != Address(b)))
411+ then (value(assetInfo(aa)).issuer != Address(a))
412+ else false)
413+ then throw("Invalid NFT")
414+ else if ((4 > aq))
415+ then throw("The best duck must be picked after the worst and the medium ones")
416+ else if ((aq == 4))
417+ then if ((ax != C(z)))
418+ then throw("It is the taker's turn to pick now")
419+ else {
420+ let aC = invoke(Address(c), "getAssetRarityCallable", [aa], nil)
421+ if ((aC == aC))
422+ then {
423+ let ab = {
424+ let l = aC
425+ if ($isInstanceOf(l, "Int"))
426+ then {
427+ let aD = l
428+ aD
429+ }
430+ else throw("Incorrect invoke result")
431+ }
432+ X(z, "taker", at.caller, aa, ab, "best", 4)
433+ }
434+ else throw("Strict value is not equal to itself.")
435+ }
436+ else if ((aq == 5))
437+ then if ((ax != A(z)))
438+ then throw("It is the maker's turn to pick now")
439+ else {
440+ let aC = invoke(Address(c), "getAssetRarityCallable", [aa], nil)
441+ if ((aC == aC))
442+ then {
443+ let ab = {
444+ let l = aC
445+ if ($isInstanceOf(l, "Int"))
446+ then {
447+ let aD = l
448+ aD
449+ }
450+ else throw("Incorrect invoke result")
451+ }
452+ X(z, "maker", at.caller, aa, ab, "best", 5)
453+ }
454+ else throw("Strict value is not equal to itself.")
455+ }
456+ else throw("The best duck has already been picked")
457+ }
458+
459+
460+
461+@Callable(at)
462+func commit (z,aE) = {
463+ let ax = toBase58String(at.caller.bytes)
464+ let aq = N(z)
465+ if ((6 > aq))
466+ then throw("Ducks hasn't been picked yet")
467+ else if ((aq == 6))
468+ then if ((ax != A(z)))
469+ then throw("It is the maker's turn to commit now")
470+ else [StringEntry(R(z, "maker"), aE), IntegerEntry(M(z), (aq + 1)), IntegerEntry(H(z), (height + i))]
471+ else if ((aq == 7))
472+ then if ((ax != C(z)))
473+ then throw("It is the taker's turn to commit now")
474+ else [StringEntry(R(z, "taker"), aE), IntegerEntry(M(z), (aq + 1)), IntegerEntry(H(z), (height + i))]
475+ else throw("Commit is finished")
476+ }
477+
478+
479+
480+@Callable(at)
481+func reveal (z,aF,aG) = {
482+ let ax = toBase58String(at.caller.bytes)
483+ let aq = N(z)
484+ if ((8 > aq))
485+ then throw("Reveal is not started")
486+ else if (if (if (if (if (if ((aF != "worst,medium,best"))
487+ then true
488+ else (aF != "worst,best,medium"))
489+ then true
490+ else (aF != "medium,worst,best"))
491+ then true
492+ else (aF != "medium,best,worst"))
493+ then true
494+ else (aF != "best,worst,medium"))
495+ then true
496+ else (aF != "best,medium,worst"))
497+ then throw("Invalid duckOrder")
498+ else if ((aq == 8))
499+ then if ((ax != A(z)))
500+ then throw("It is the maker's turn to reveal now")
501+ else if ((toBase58String(sha256(toBytes((aF + aG)))) != S(z, "maker")))
502+ then throw("reveal data is not valid")
503+ else [StringEntry(T(z, "maker"), aF), IntegerEntry(M(z), (aq + 1)), IntegerEntry(H(z), (height + i))]
504+ else if ((aq == 9))
505+ then if ((ax != C(z)))
506+ then throw("It is the taker's turn to reveal now")
507+ else if ((toBase58String(sha256(toBytes((aF + aG)))) != S(z, "taker")))
508+ then throw("reveal data is not valid")
509+ else [StringEntry(T(z, "taker"), aF), IntegerEntry(M(z), (aq + 1)), IntegerEntry(H(z), (height + i))]
510+ else throw("Reveal is finished")
511+ }
512+
513+
514+
515+@Callable(at)
516+func getPrize (z) = {
517+ let ax = toBase58String(at.caller.bytes)
518+ let aq = N(z)
519+ if ((aq != 10))
520+ then throw("Game is not finished")
521+ else if ((ax == A(z)))
522+ then ar(z, at.caller, "maker", af(z))
523+ else if ((ax == C(z)))
524+ then ar(z, at.caller, "taker", af(z))
525+ else throw("Invalid caller address")
526+ }
527+
528+
529+
530+@Callable(at)
531+func getPrizeExpired (z) = {
532+ let ax = toBase58String(at.caller.bytes)
533+ let aq = N(z)
534+ if ((aq == 10))
535+ then throw("Game is finished, call getPrize instead")
536+ else if ((I(z) > height))
537+ then throw("Game is not expired")
538+ else if ((ax == A(z)))
539+ then ar(z, at.caller, "maker", ap(aq))
540+ else if ((ax == C(z)))
541+ then ar(z, at.caller, "taker", ap(aq))
542+ else throw("Invalid caller address")
543+ }
544+
545+
546+@Verifier(aH)
547+func aI () = sigVerify(aH.bodyBytes, aH.proofs[0], aH.senderPublicKey)
548+

github/deemru/w8io/026f985 
33.93 ms