tx · GsizKh7j4ggip5T1gJgTWa6ZCXBZiJ7cAAwJrQvE8Qx8

3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H:  -0.00200000 Waves

2022.09.14 18:09 [2228935] smart account 3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H > SELF 0.00000000 Waves

{ "type": 13, "id": "GsizKh7j4ggip5T1gJgTWa6ZCXBZiJ7cAAwJrQvE8Qx8", "fee": 200000, "feeAssetId": null, "timestamp": 1663168194011, "version": 2, "chainId": 84, "sender": "3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H", "senderPublicKey": "BDeCphaaC4MZvfmbJqQZ78EvuEBZTJ1VEW7fbxue8BUu", "proofs": [ "4Kczgq1VYuGWx4PJyh1BGuLYv48wXWhAMt3VRykAkQMdsiiNxtJrtTgrJrJqBQZxtPyY9hXagE3z8fZ7ZvZcH7Ke" ], "script": "base64:BgIKCAISBAoCAggSAAQADGtVc2VyUGF5bWVudAIHUGF5bWVudAAEa1dvbgIDV29uAAlzZXBhcmF0b3ICAS8BCXJhbmRvbWl6ZQIFYnl0ZXMFcmFuZ2UEBGhhc2gJAPcDAQUFYnl0ZXMEBWluZGV4CQCxCQEFBGhhc2gJAGoCBQVpbmRleAUFcmFuZ2UCAWkBCGNvdW50aW5nAgVieXRlcwZjYWxsZXIDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAgpPbmx5IG93bmVyBAVjb3VudAkBCXJhbmRvbWl6ZQIJAMkBAgUFYnl0ZXMJAGkCCQDIAQEFBWJ5dGVzAAIACgMJAGcCBQVjb3VudAADCQDMCAIJAQxCb29sZWFuRW50cnkCCQCsAgIJAKwCAgUEa1dvbgUJc2VwYXJhdG9yBQZjYWxsZXIHBQNuaWwJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAKwCAgkArAICBQRrV29uBQlzZXBhcmF0b3IFBmNhbGxlcgYFA25pbAFpAQlzdGFydEdhbWUABAZhbW91bnQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AwkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQR1bml0CQACAQIMUGF5IGluIHdhdmVzAwkAZgIFBmFtb3VudAAKCQACAQIUTWF4aW11bSBiZXQgMTAgd2F2ZXMEDW51bGxJbml0U3RvcmUJAPwHBAUEdGhpcwIIY291bnRpbmcJAMwIAggFAWkNdHJhbnNhY3Rpb25JZAkAzAgCCQClCAEIBQFpBmNhbGxlcgUDbmlsBQNuaWwDCQAAAgUNbnVsbEluaXRTdG9yZQUNbnVsbEluaXRTdG9yZQQDd29uCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJsIAgUEdGhpcwkArAICCQCsAgIFBGtXb24FCXNlcGFyYXRvcgkApQgBCAUBaQZjYWxsZXICElN0b3JhZ2UgcmVhZCBlcnJvcgMFA3dvbgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIJAGgCBQZhbW91bnQAAgUEdW5pdAkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAKwCAgUEa1dvbgUJc2VwYXJhdG9yCQClCAEIBQFpBmNhbGxlcgkAzAgCCQEMQm9vbGVhbkVudHJ5AgkArAICCQCsAgIJAKwCAgkArAICBQRrV29uBQlzZXBhcmF0b3IJAKUIAQgFAWkGY2FsbGVyBQlzZXBhcmF0b3IJAKQDAQkBCXJhbmRvbWl6ZQIIBQFpDXRyYW5zYWN0aW9uSWQA6AcGBQNuaWwJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQCsAgIFBGtXb24FCXNlcGFyYXRvcgkApQgBCAUBaQZjYWxsZXIJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgUEa1dvbgUJc2VwYXJhdG9yCQClCAEIBQFpBmNhbGxlcgUJc2VwYXJhdG9yCQCkAwEJAQlyYW5kb21pemUCCAUBaQ10cmFuc2FjdGlvbklkAOgHBwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAOplpGo=", "height": 2228935, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: E1t2f8ivUBNzS5n4anzwnXF4M5X19xqNydmrgtkxfHFW Next: ATsU1m5FkF1XgRi25BpbYtVX5ExNu2Wz23Mgyja5zCwH Diff:
OldNewDifferences
55
66 let b = "Won"
77
8-func c (d,e) = {
9- let f = sha256(d)
10- let g = toInt(f)
11- (g % e)
8+let c = "/"
9+
10+func d (e,f) = {
11+ let g = sha256(e)
12+ let h = toInt(g)
13+ (h % f)
1214 }
1315
1416
15-func h (d) = {
16- let i = c(d, 10)
17- if ((i >= 4))
18- then BooleanEntry(b, false)
19- else BooleanEntry(b, true)
20- }
21-
22-
23-@Callable(j)
24-func parseStruct () = if ((j.caller != this))
17+@Callable(i)
18+func counting (e,j) = if ((i.caller != this))
2519 then throw("Only owner")
2620 else {
27- let k = h(j.transactionId)
28-[k]
21+ let k = d(take(e, (size(e) / 2)), 10)
22+ if ((k >= 3))
23+ then [BooleanEntry(((b + c) + j), false)]
24+ else [BooleanEntry(((b + c) + j), true)]
2925 }
3026
3127
3228
33-@Callable(j)
29+@Callable(i)
3430 func startGame () = {
35- let l = value(j.payments[0].amount)
36- if ((j.payments[0].assetId != unit))
31+ let l = value(i.payments[0].amount)
32+ if ((i.payments[0].assetId != unit))
3733 then throw("Pay in waves")
38- else {
39- let m = invoke(this, "parseStruct", nil, nil)
40- if ((m == m))
41- then {
42- let n = valueOrErrorMessage(getBoolean(this, b), "Storage read error")
43- if (n)
44- then [ScriptTransfer(j.caller, (l * 2), unit)]
45- else nil
46- }
47- else throw("Strict value is not equal to itself.")
48- }
34+ else if ((l > 10))
35+ then throw("Maximum bet 10 waves")
36+ else {
37+ let m = invoke(this, "counting", [i.transactionId, toString(i.caller)], nil)
38+ if ((m == m))
39+ then {
40+ let n = valueOrErrorMessage(getBoolean(this, ((b + c) + toString(i.caller))), "Storage read error")
41+ if (n)
42+ then [ScriptTransfer(i.caller, (l * 2), unit), DeleteEntry(((b + c) + toString(i.caller))), BooleanEntry(((((b + c) + toString(i.caller)) + c) + toString(d(i.transactionId, 1000))), true)]
43+ else [DeleteEntry(((b + c) + toString(i.caller))), BooleanEntry(((((b + c) + toString(i.caller)) + c) + toString(d(i.transactionId, 1000))), false)]
44+ }
45+ else throw("Strict value is not equal to itself.")
46+ }
4947 }
5048
5149
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "Payment"
55
66 let b = "Won"
77
8-func c (d,e) = {
9- let f = sha256(d)
10- let g = toInt(f)
11- (g % e)
8+let c = "/"
9+
10+func d (e,f) = {
11+ let g = sha256(e)
12+ let h = toInt(g)
13+ (h % f)
1214 }
1315
1416
15-func h (d) = {
16- let i = c(d, 10)
17- if ((i >= 4))
18- then BooleanEntry(b, false)
19- else BooleanEntry(b, true)
20- }
21-
22-
23-@Callable(j)
24-func parseStruct () = if ((j.caller != this))
17+@Callable(i)
18+func counting (e,j) = if ((i.caller != this))
2519 then throw("Only owner")
2620 else {
27- let k = h(j.transactionId)
28-[k]
21+ let k = d(take(e, (size(e) / 2)), 10)
22+ if ((k >= 3))
23+ then [BooleanEntry(((b + c) + j), false)]
24+ else [BooleanEntry(((b + c) + j), true)]
2925 }
3026
3127
3228
33-@Callable(j)
29+@Callable(i)
3430 func startGame () = {
35- let l = value(j.payments[0].amount)
36- if ((j.payments[0].assetId != unit))
31+ let l = value(i.payments[0].amount)
32+ if ((i.payments[0].assetId != unit))
3733 then throw("Pay in waves")
38- else {
39- let m = invoke(this, "parseStruct", nil, nil)
40- if ((m == m))
41- then {
42- let n = valueOrErrorMessage(getBoolean(this, b), "Storage read error")
43- if (n)
44- then [ScriptTransfer(j.caller, (l * 2), unit)]
45- else nil
46- }
47- else throw("Strict value is not equal to itself.")
48- }
34+ else if ((l > 10))
35+ then throw("Maximum bet 10 waves")
36+ else {
37+ let m = invoke(this, "counting", [i.transactionId, toString(i.caller)], nil)
38+ if ((m == m))
39+ then {
40+ let n = valueOrErrorMessage(getBoolean(this, ((b + c) + toString(i.caller))), "Storage read error")
41+ if (n)
42+ then [ScriptTransfer(i.caller, (l * 2), unit), DeleteEntry(((b + c) + toString(i.caller))), BooleanEntry(((((b + c) + toString(i.caller)) + c) + toString(d(i.transactionId, 1000))), true)]
43+ else [DeleteEntry(((b + c) + toString(i.caller))), BooleanEntry(((((b + c) + toString(i.caller)) + c) + toString(d(i.transactionId, 1000))), false)]
44+ }
45+ else throw("Strict value is not equal to itself.")
46+ }
4947 }
5048
5149

github/deemru/w8io/169f3d6 
42.09 ms