tx · 5otyGrT1E8ogXLANz3FUeJTfgHULBVA2dHVYkxjnk4Qk

3N8GKGgDPGGUaAhPMNtsxTJWafHDRnwL7GQ:  -0.01000000 Waves

2023.05.30 09:16 [2600333] smart account 3N8GKGgDPGGUaAhPMNtsxTJWafHDRnwL7GQ > SELF 0.00000000 Waves

{ "type": 13, "id": "5otyGrT1E8ogXLANz3FUeJTfgHULBVA2dHVYkxjnk4Qk", "fee": 1000000, "feeAssetId": null, "timestamp": 1685427425683, "version": 2, "chainId": 84, "sender": "3N8GKGgDPGGUaAhPMNtsxTJWafHDRnwL7GQ", "senderPublicKey": "y5twTW93XMmi75S5bati2cok9QLLFivsrwJedxJeUkX", "proofs": [ "5pajR9rdHUGnYpUyFPKaAHUowg4UojqxMRXi52s3VD6ZP2s3tKvXBMmMd9zbwxnDymLsf25nt1Mx426yAwcHBipt" ], "script": "base64:AAIEAAAAAAAAAAcIAhIDCgEIAAAABAEAAAAKbnVtVG9XYXZlcwAAAAEAAAADbnVtCQAAaAAAAAIFAAAAA251bQAAAAAABfXhAAEAAAAUZ2VuZXJhdGVSYW5kb21OdW1iZXIAAAADAAAAAWkAAAADbWluAAAAA21heAQAAAAKcmFuZG9tU2VlZAkABLEAAAABCQAB9QAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQEAAAADHJhbmRvbU51bWJlcgkAAGQAAAACCQAAagAAAAIFAAAACnJhbmRvbVNlZWQJAABkAAAAAgkAAGUAAAACBQAAAANtYXgFAAAAA21pbgAAAAAAAAAAAQUAAAADbWluBQAAAAxyYW5kb21OdW1iZXIBAAAAC2lzUGF5bWVudE9rAAAAAQAAAAFpBAAAABFhY2NlcHRhYmxlQXNzZXRJZAEAAAAgIkSm54hUfVEormpXug9p+nbhDnc37ahHq1IfaU2UQkcDCQAAAAAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAAACAAAAAQIAAAAUUGF5bWVudCBub3QgYXR0YWNoZWQEAAAAAXAJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAByRtYXRjaDAIBQAAAAFwAAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAB2Fzc2V0SWQFAAAAByRtYXRjaDADCQAAAAAAAAIFAAAAB2Fzc2V0SWQFAAAAEWFjY2VwdGFibGVBc3NldElkCQAAZwAAAAIIBQAAAAFwAAAABmFtb3VudAkBAAAACm51bVRvV2F2ZXMAAAABAAAAAAAAAAABBwkAAGcAAAACCAUAAAABcAAAAAZhbW91bnQJAQAAAApudW1Ub1dhdmVzAAAAAQAAAAAAAAAAAQEAAAAZZ2FtZUx1Y2t5V2hlZWxXaGF0VXNlcldvbgAAAAEAAAAFdmFsdWUEAAAAByRtYXRjaDAFAAAABXZhbHVlAwkAAAAAAAACAAAAAAAAAAABBQAAAAckbWF0Y2gwCQEAAAAKbnVtVG9XYXZlcwAAAAEAAAAAAAAAAAIDCQAAAAAAAAIAAAAAAAAAAAMFAAAAByRtYXRjaDAJAQAAAApudW1Ub1dhdmVzAAAAAQAAAAAAAAAAAQMJAAAAAAAAAgAAAAAAAAAABQUAAAAHJG1hdGNoMAkBAAAACm51bVRvV2F2ZXMAAAABAAAAAAAAAAABAwkAAAAAAAACAAAAAAAAAAAHBQAAAAckbWF0Y2gwCQEAAAAKbnVtVG9XYXZlcwAAAAEAAAAAAAAAAAQDCQAAAAAAAAIAAAAAAAAAAAkFAAAAByRtYXRjaDAJAQAAAApudW1Ub1dhdmVzAAAAAQAAAAAAAAAAAQMJAAAAAAAAAgAAAAAAAAAACwUAAAAHJG1hdGNoMAkBAAAACm51bVRvV2F2ZXMAAAABAAAAAAAAAAABAAAAAAAAAAAAAAAAAQAAAAFpAQAAAA5nYW1lTHVja3lXaGVlbAAAAAEAAAACaWQDCQEAAAABIQAAAAEJAQAAAAtpc1BheW1lbnRPawAAAAEFAAAAAWkJAAACAAAAAQIAAAAdV3JvbmcgcGF5bWVudCBhbW91bnQgb3IgYXNzZXQEAAAADHJhbmRvbU51bWJlcgkBAAAAFGdlbmVyYXRlUmFuZG9tTnVtYmVyAAAAAwUAAAABaQAAAAAAAAAAAQAAAAAAAAAADAQAAAANd2lubmluZ0Ftb3VudAkBAAAAGWdhbWVMdWNreVdoZWVsV2hhdFVzZXJXb24AAAABBQAAAAxyYW5kb21OdW1iZXIDCQAAAAAAAAIFAAAADXdpbm5pbmdBbW91bnQJAQAAAApudW1Ub1dhdmVzAAAAAQAAAAAAAAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADXdpbm5pbmdBbW91bnQFAAAABHVuaXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAAAxnYW1lX3N0YXR1c18FAAAAAmlkAgAAAARyb2xsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAABWdhbWVfBQAAAAJpZAUAAAANd2lubmluZ0Ftb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABd0ZXN0X2dhbWVfcmFuZG9tTnVtYmVyXwUAAAACaWQFAAAADHJhbmRvbU51bWJlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABh0ZXN0X2dhbWVfd2lubmluZ0Ftb3VudF8FAAAAAmlkBQAAAA13aW5uaW5nQW1vdW50BQAAAANuaWwDCQAAZgAAAAIFAAAADXdpbm5pbmdBbW91bnQAAAAAAAAAAAAJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAA13aW5uaW5nQW1vdW50BQAAAAR1bml0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAMZ2FtZV9zdGF0dXNfBQAAAAJpZAIAAAADd2luCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAABWdhbWVfBQAAAAJpZAUAAAANd2lubmluZ0Ftb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABd0ZXN0X2dhbWVfcmFuZG9tTnVtYmVyXwUAAAACaWQFAAAADHJhbmRvbU51bWJlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABh0ZXN0X2dhbWVfd2lubmluZ0Ftb3VudF8FAAAAAmlkBQAAAA13aW5uaW5nQW1vdW50BQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAFZ2FtZV8FAAAAAmlkBQAAAA13aW5uaW5nQW1vdW50CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAMZ2FtZV9zdGF0dXNfBQAAAAJpZAIAAAAEbG9zZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABd0ZXN0X2dhbWVfcmFuZG9tTnVtYmVyXwUAAAACaWQFAAAADHJhbmRvbU51bWJlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABh0ZXN0X2dhbWVfd2lubmluZ0Ftb3VudF8FAAAAAmlkBQAAAA13aW5uaW5nQW1vdW50BQAAAANuaWwAAAAAyADQ+A==", "height": 2600333, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4Q6PBqRGgxy5dM5ttfYxncJNsWwizCD1hq4CvLyjD4Qo Next: 2GH9x8YjBAn6UcyGVpSVPuGk7YwpAjqgWrB9A7LVPDr3 Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+func numToWaves (num) = (num * 100000000)
5+
6+
47 func generateRandomNumber (i,min,max) = {
58 let randomSeed = toInt(keccak256(i.transactionId))
69 let randomNumber = ((randomSeed % ((max - min) + 1)) + min)
1720 match p.assetId {
1821 case assetId: ByteVector =>
1922 if ((assetId == acceptableAssetId))
20- then (p.amount >= 10000000)
23+ then (p.amount >= numToWaves(1))
2124 else false
2225 case _ =>
23- (p.amount >= 10000000)
26+ (p.amount >= numToWaves(1))
2427 }
2528 }
2629 }
2932 func gameLuckyWheelWhatUserWon (value) = match value {
3033 case _ =>
3134 if ((1 == $match0))
32- then 20000000
35+ then numToWaves(2)
3336 else if ((3 == $match0))
34- then 10000000
37+ then numToWaves(1)
3538 else if ((5 == $match0))
36- then 10000000
39+ then numToWaves(1)
3740 else if ((7 == $match0))
38- then 30000000
41+ then numToWaves(4)
3942 else if ((9 == $match0))
40- then 10000000
43+ then numToWaves(1)
4144 else if ((11 == $match0))
42- then 10000000
45+ then numToWaves(1)
4346 else 0
4447 }
4548
5053 else {
5154 let randomNumber = generateRandomNumber(i, 1, 12)
5255 let winningAmount = gameLuckyWheelWhatUserWon(randomNumber)
53- if ((winningAmount == 10000000))
56+ if ((winningAmount == numToWaves(1)))
5457 then [ScriptTransfer(i.caller, winningAmount, unit), StringEntry(("game_status_" + id), "roll"), IntegerEntry(("game_" + id), winningAmount), IntegerEntry(("test_game_randomNumber_" + id), randomNumber), IntegerEntry(("test_game_winningAmount_" + id), winningAmount)]
5558 else if ((winningAmount > 0))
5659 then [ScriptTransfer(i.caller, winningAmount, unit), StringEntry(("game_status_" + id), "win"), IntegerEntry(("game_" + id), winningAmount), IntegerEntry(("test_game_randomNumber_" + id), randomNumber), IntegerEntry(("test_game_winningAmount_" + id), winningAmount)]
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+func numToWaves (num) = (num * 100000000)
5+
6+
47 func generateRandomNumber (i,min,max) = {
58 let randomSeed = toInt(keccak256(i.transactionId))
69 let randomNumber = ((randomSeed % ((max - min) + 1)) + min)
710 randomNumber
811 }
912
1013
1114 func isPaymentOk (i) = {
1215 let acceptableAssetId = base58'3JmaWyFqWo8YSA8x3DXCBUW7veesxacvKx19dMv7wTMg'
1316 if ((size(i.payments) == 0))
1417 then throw("Payment not attached")
1518 else {
1619 let p = i.payments[0]
1720 match p.assetId {
1821 case assetId: ByteVector =>
1922 if ((assetId == acceptableAssetId))
20- then (p.amount >= 10000000)
23+ then (p.amount >= numToWaves(1))
2124 else false
2225 case _ =>
23- (p.amount >= 10000000)
26+ (p.amount >= numToWaves(1))
2427 }
2528 }
2629 }
2730
2831
2932 func gameLuckyWheelWhatUserWon (value) = match value {
3033 case _ =>
3134 if ((1 == $match0))
32- then 20000000
35+ then numToWaves(2)
3336 else if ((3 == $match0))
34- then 10000000
37+ then numToWaves(1)
3538 else if ((5 == $match0))
36- then 10000000
39+ then numToWaves(1)
3740 else if ((7 == $match0))
38- then 30000000
41+ then numToWaves(4)
3942 else if ((9 == $match0))
40- then 10000000
43+ then numToWaves(1)
4144 else if ((11 == $match0))
42- then 10000000
45+ then numToWaves(1)
4346 else 0
4447 }
4548
4649
4750 @Callable(i)
4851 func gameLuckyWheel (id) = if (!(isPaymentOk(i)))
4952 then throw("Wrong payment amount or asset")
5053 else {
5154 let randomNumber = generateRandomNumber(i, 1, 12)
5255 let winningAmount = gameLuckyWheelWhatUserWon(randomNumber)
53- if ((winningAmount == 10000000))
56+ if ((winningAmount == numToWaves(1)))
5457 then [ScriptTransfer(i.caller, winningAmount, unit), StringEntry(("game_status_" + id), "roll"), IntegerEntry(("game_" + id), winningAmount), IntegerEntry(("test_game_randomNumber_" + id), randomNumber), IntegerEntry(("test_game_winningAmount_" + id), winningAmount)]
5558 else if ((winningAmount > 0))
5659 then [ScriptTransfer(i.caller, winningAmount, unit), StringEntry(("game_status_" + id), "win"), IntegerEntry(("game_" + id), winningAmount), IntegerEntry(("test_game_randomNumber_" + id), randomNumber), IntegerEntry(("test_game_winningAmount_" + id), winningAmount)]
5760 else [IntegerEntry(("game_" + id), winningAmount), StringEntry(("game_status_" + id), "lose"), IntegerEntry(("test_game_randomNumber_" + id), randomNumber), IntegerEntry(("test_game_winningAmount_" + id), winningAmount)]
5861 }
5962
6063

github/deemru/w8io/c3f4982 
29.17 ms