tx · 3stZ6rmrxQJBBbgaeDEQesgiWPUEgkJyJDNtCesQp2US

3MynGSYu6iLYwtuacGbSmJ6NjivbME9fJu2:  -0.01000000 Waves

2022.11.07 09:40 [2306369] smart account 3MynGSYu6iLYwtuacGbSmJ6NjivbME9fJu2 > SELF 0.00000000 Waves

{ "type": 13, "id": "3stZ6rmrxQJBBbgaeDEQesgiWPUEgkJyJDNtCesQp2US", "fee": 1000000, "feeAssetId": null, "timestamp": 1667803282942, "version": 2, "chainId": 84, "sender": "3MynGSYu6iLYwtuacGbSmJ6NjivbME9fJu2", "senderPublicKey": "AEm8wmKt8D73TvQifRvCfnZcCWy66TgmGtF2mX1xxKuq", "proofs": [ "2wEPevNtXwNAFJXQNY4UZNj3Hxe3HhtsL8fxeExZiGLgDActwWNfvMSk9uWszUudUHf1T356LiBRtLwBuqpxdsjH" ], "script": "base64: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", "height": 2306369, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BZEx5GSEvqv6yrNzHDabsKzvANDcCU13B7tZvFojaTa7 Next: AKsw4XRKDEPfcS3Smh3Ucm1U88pr9LxNGmz9U6NnxhZ8 Diff:
OldNewDifferences
2626 let paymentFee = 100000
2727
2828 let activeSessionKey = "active_session"
29+
30+let maxPixel = 22000
2931
3032 let colors = ["7076E9", "5FD8F1", "D30831", "183937", "FFD345", "B04249", "FFB087", "360A90", "000000", "969696", "FF0200", "800080", "020080", "183937", "09FEFF", "7076E9", "C0C0C0", "C3103B", "9F7E69", "FFEEE2", "983C95"]
3133
8890 let xy_new = ((toString(x) + "_") + toString(y))
8991 let veri_count = valueOrElse(getInteger(this, ("stats_" + toString(session))), 0)
9092 let wallet = (((((currentKey + "_") + xy_new) + "_") + toString(session)) + "_c")
91- if (if (if (if ((x >= xMIN))
93+ if (if (if (if (if ((x >= xMIN))
9294 then (xMAX > x)
9395 else false)
9496 then (y >= yMIN)
9597 else false)
9698 then (yMAX > y)
99+ else false)
100+ then (maxPixel >= veri_count)
97101 else false)
98102 then if (isPaymentOk(i))
99103 then [StringEntry(wallet, veri), IntegerEntry(("stats_" + toString(session)), (veri_count + 1))]
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let PAYMENT_ASSET = base58'CgidgEMbCKXXErgJXVyZCFRaK8SBNA73Jg8mNXALtVKh'
55
66 let REWARD_ASSET = base58'43W4FcqA1rEpSmUGHoGiXvpSLfhadws9LS5j3SJsKxxS'
77
88 let admPub = base58'AEm8wmKt8D73TvQifRvCfnZcCWy66TgmGtF2mX1xxKuq'
99
1010 let pixels = REWARD_ASSET
1111
1212 let xMIN = 0
1313
1414 let xMAX = 1201
1515
1616 let yMIN = 0
1717
1818 let yMAX = 601
1919
2020 let REWARD_AMOUNT = 1000000
2121
2222 let START_HEIGHT = 2297717
2323
2424 let END_HEIGHT = (START_HEIGHT + (1440 * 7))
2525
2626 let paymentFee = 100000
2727
2828 let activeSessionKey = "active_session"
29+
30+let maxPixel = 22000
2931
3032 let colors = ["7076E9", "5FD8F1", "D30831", "183937", "FFD345", "B04249", "FFB087", "360A90", "000000", "969696", "FF0200", "800080", "020080", "183937", "09FEFF", "7076E9", "C0C0C0", "C3103B", "9F7E69", "FFEEE2", "983C95"]
3133
3234 func isPaymentOk (i) = {
3335 let acceptableAssetId = PAYMENT_ASSET
3436 if ((size(i.payments) == 0))
3537 then throw("Payment not attached")
3638 else {
3739 let p = i.payments[0]
3840 match p.assetId {
3941 case assetId: ByteVector =>
4042 if ((assetId == acceptableAssetId))
4143 then (p.amount == paymentFee)
4244 else false
4345 case _ =>
4446 throw("Wrong payment asset")
4547 }
4648 }
4749 }
4850
4951
5052 @Callable(i)
5153 func activeSession (session) = if ((i.callerPublicKey == admPub))
5254 then [IntegerEntry(activeSessionKey, session)]
5355 else throw("you are not allowed")
5456
5557
5658
5759 @Callable(i)
5860 func settings (session,startHeight,duration) = if ((i.callerPublicKey == admPub))
5961 then {
6062 let endHeight = (startHeight + (1440 * duration))
6163 [IntegerEntry((("settings_" + toString(session)) + "_startHeight"), startHeight), IntegerEntry((("settings_" + toString(session)) + "_endHeight"), endHeight)]
6264 }
6365 else throw("you are not allowed")
6466
6567
6668
6769 @Callable(i)
6870 func coordinates (veri,xy) = {
6971 let session = valueOrElse(getInteger(this, activeSessionKey), 0)
7072 let startHeight = valueOrElse(getInteger(this, (("settings_" + toString(session)) + "_startHeight")), START_HEIGHT)
7173 let endHeight = valueOrElse(getInteger(this, (("settings_" + toString(session)) + "_endHeight")), END_HEIGHT)
7274 if (if ((height > startHeight))
7375 then (endHeight > height)
7476 else false)
7577 then {
7678 let color = containsElement(colors, veri)
7779 if (color)
7880 then {
7981 let currentKey = toBase58String(i.caller.bytes)
8082 let splitter = split(xy, "_")
8183 let x = valueOrElse(parseInt(splitter[0]), 0)
8284 let y = valueOrElse(parseInt(splitter[1]), 0)
8385 if (if (((x % 8) != 0))
8486 then ((y % 8) != 0)
8587 else false)
8688 then throw("not cool.")
8789 else {
8890 let xy_new = ((toString(x) + "_") + toString(y))
8991 let veri_count = valueOrElse(getInteger(this, ("stats_" + toString(session))), 0)
9092 let wallet = (((((currentKey + "_") + xy_new) + "_") + toString(session)) + "_c")
91- if (if (if (if ((x >= xMIN))
93+ if (if (if (if (if ((x >= xMIN))
9294 then (xMAX > x)
9395 else false)
9496 then (y >= yMIN)
9597 else false)
9698 then (yMAX > y)
99+ else false)
100+ then (maxPixel >= veri_count)
97101 else false)
98102 then if (isPaymentOk(i))
99103 then [StringEntry(wallet, veri), IntegerEntry(("stats_" + toString(session)), (veri_count + 1))]
100104 else throw("Wrong payment amount or asset")
101105 else throw("out of context")
102106 }
103107 }
104108 else throw("wrong color")
105109 }
106110 else throw("game is not active right now")
107111 }
108112
109113
110114
111115 @Callable(i)
112116 func delete (arg) = [DeleteEntry(arg)]
113117
114118

github/deemru/w8io/873ac7e 
46.32 ms