tx · GZdtS2Lx7B8ZKHimU6Joos35qyhTsShn2W5RE6Vk1NSU

3N8M61KCm8G72mK8PjacFbnnxdbFsyqQDeT:  -0.01400000 Waves

2019.06.24 18:44 [556367] smart account 3N8M61KCm8G72mK8PjacFbnnxdbFsyqQDeT > SELF 0.00000000 Waves

{ "type": 13, "id": "GZdtS2Lx7B8ZKHimU6Joos35qyhTsShn2W5RE6Vk1NSU", "fee": 1400000, "feeAssetId": null, "timestamp": 1561391066088, "version": 1, "sender": "3N8M61KCm8G72mK8PjacFbnnxdbFsyqQDeT", "senderPublicKey": "Bhyvkx4xdbEi4KPJNZSzx9gZgzgyLEsavuj2kYSt7SST", "proofs": [ "5Dc7c6BYCzokt1BPpNSPpyGM2m8sehUf9xDCTQkJgxCU6cwcC4qUqEiZGdundinbhdDfwYw6BAV2boPxJsHv2Pgi" ], "script": "base64:AAIDAAAAAAAAAAAAAAAPAAAAAA9TZXJ2ZXJQdWJsaWNLZXkBAAAAIAQ1/gW4L6VUuKyMox3deX07Tu0dL8x1obg+vYqfUuwTAAAAABBSb3VsZXR0ZVNlY3Rpb25zAAAAAAAAAAAVAAAAABFEYXRhR2FtZU51bWJlcktleQIAAAALQVBQX0dBTUVfSUQAAAAADURhdGFBbW91bnRLZXkCAAAABkFNT1VOVAAAAAAORGF0YVNlY3Rpb25LZXkCAAAAB1NFQ1RJT04AAAAADURhdGFTdGF0dXNLZXkCAAAABlNUQVRVUwAAAAANRGF0YVN0YXR1c05ldwIAAAADTkVXAAAAABZFcnJvck9ubHlXYXZlc0FjY2VwdGVkAgAAABllcnJvcl9vbmx5X3dhdmVzX2FjY2VwdGVkAAAAABVFcnJvck11c3RHcmVhdGVyVGhhbjACAAAAJVBhcmFtZXRlciBzaXplIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAAAAAAFEVycm9yTXVzdExlc3NUaGFuMTAwAgAAACRQYXJhbWV0ZXIgc2l6ZSBtdXN0IGJlIGxlc3MgdGhhbiAxMDAAAAAAFUVycm9yQmV0TXVzdEJlSW5XYXZlcwIAAAAbQmV0IGFtb3VudCBtdXN0IGJlIGluIFdhdmVzAAAAAB1FcnJvclRyYW5zYWN0aW9uTXVzdEJlSW5XYXZlcwIAAAAiVHJhbnNhY3Rpb24ncyBmZWUgbXVzdCBiZSBpbiBXYXZlcwAAAAAURXJyb3JUcmFuc2FjdGlvblVzZWQCAAAAL1Bhc3NlZCB0eElkIGhhZCBiZWVuIHVzZWQgYmVmb3JlLiBHYW1lIGFib3J0ZWQuAQAAAAlTdG9yZURhdGEAAAADAAAADXRyYW5zYWN0aW9uSWQAAAADa2V5AAAABXZhbHVlCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIFAAAADXRyYW5zYWN0aW9uSWQCAAAAAV8FAAAAA2tleQUAAAAFdmFsdWUBAAAACU5ld0dhbWVJZAAAAAAEAAAAB2dhbWVOdW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAARRGF0YUdhbWVOdW1iZXJLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAADbnVtBQAAAAckbWF0Y2gwBQAAAANudW0AAAAAAAAAAAAJAABkAAAAAgUAAAAHZ2FtZU51bQAAAAAAAAAAAQAAAAMAAAABaQEAAAAPR2VuZXJhdGVSYW5kSW50AAAAAgAAAAZnYW1lSWQAAAAHcnNhU2lnbgQAAAALcnNhU2lnVmFsaWQJAAH0AAAAAwkAAlkAAAABBQAAAAZnYW1lSWQJAAJZAAAAAQUAAAAHcnNhU2lnbgUAAAAPU2VydmVyUHVibGljS2V5AwUAAAALcnNhU2lnVmFsaWQEAAAABHJhbmQJAABqAAAAAgkABLEAAAABCQAB9wAAAAEJAAGbAAAAAQUAAAAHcnNhU2lnbgUAAAAQUm91bGV0dGVTZWN0aW9ucwkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAEb3JpZwkABLEAAAABCQAB9wAAAAEJAAGbAAAAAQUAAAAHcnNhU2lnbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAEcmFuZAUAAAAEcmFuZAUAAAADbmlsCQAAAgAAAAECAAAAFUludmFsaWQgUlNBIHNpZ25hdHVyZQAAAAFpAQAAAANiZXQAAAABAAAADmV4cGVjdGVkUmVzdWx0BAAAAApnYW1lTnVtYmVyCQEAAAAJTmV3R2FtZUlkAAAAAAQAAAARZ2FtZVRyYW5zYWN0aW9uSWQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAQAAAAHYWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAAIdHhJZFVzZWQJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMFAAAAEWdhbWVUcmFuc2FjdGlvbklkBAAAAA1iZXROb3RJbldhdmVzCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkBAAAAA1mZWVOb3RJbldhdmVzCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkBAAAAAZhbW91bnQIBQAAAANwbXQAAAAGYW1vdW50AwUAAAANYmV0Tm90SW5XYXZlcwkAAAIAAAABBQAAABVFcnJvckJldE11c3RCZUluV2F2ZXMDBQAAAA1mZWVOb3RJbldhdmVzCQAAAgAAAAEFAAAAHUVycm9yVHJhbnNhY3Rpb25NdXN0QmVJbldhdmVzAwUAAAAIdHhJZFVzZWQJAAACAAAAAQUAAAAURXJyb3JUcmFuc2FjdGlvblVzZWQJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAEWdhbWVUcmFuc2FjdGlvbklkBQAAAAdhZGRyZXNzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABFEYXRhR2FtZU51bWJlcktleQUAAAAKZ2FtZU51bWJlcgkABEwAAAACCQEAAAAJU3RvcmVEYXRhAAAAAwUAAAARZ2FtZVRyYW5zYWN0aW9uSWQFAAAADURhdGFBbW91bnRLZXkJAAGkAAAAAQUAAAAGYW1vdW50CQAETAAAAAIJAQAAAAlTdG9yZURhdGEAAAADBQAAABFnYW1lVHJhbnNhY3Rpb25JZAUAAAAORGF0YVNlY3Rpb25LZXkJAAGkAAAAAQUAAAAOZXhwZWN0ZWRSZXN1bHQJAARMAAAAAgkBAAAACVN0b3JlRGF0YQAAAAMFAAAAEWdhbWVUcmFuc2FjdGlvbklkBQAAAA1EYXRhU3RhdHVzS2V5BQAAAA1EYXRhU3RhdHVzTmV3BQAAAANuaWwAAAABaQEAAAAGYmV0MTExAAAAAQAAAA5leHBlY3RlZFJlc3VsdAQAAAAQbGFzdEF1Y3Rpb25JZEtleQIAAAAPbGFzdF9hdWN0aW9uX2lkBAAAAA1sYXN0QXVjdGlvbklkBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAEGxhc3RBdWN0aW9uSWRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAACaWQJAABkAAAAAgUAAAANbGFzdEF1Y3Rpb25JZAAAAAAAAAAAAQQAAAAMbmV3QXVjdGlvbklkCQABpAAAAAEFAAAAAmlkBAAAAAtvd25lcldhbGxldAkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEIBQAAAAFpAAAAB3BheW1lbnQDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAEFAAAAFkVycm9yT25seVdhdmVzQWNjZXB0ZWQEAAAAB2Fzc2V0SWQJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkBAAAABJhdWN0aW9uRHVyYXRpb25LZXkJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAAMbmV3QXVjdGlvbklkAgAAAAlfZHVyYXRpb24EAAAAEGF1Y3Rpb25NaW5CaWRLZXkJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAAMbmV3QXVjdGlvbklkAgAAAAhfbWluX2JpZAQAAAARYXVjdGlvbkxhc3RCaWRLZXkJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAAMbmV3QXVjdGlvbklkAgAAAAlfbGFzdF9iaWQEAAAAFmF1Y3Rpb25MYXN0QmlkT3duZXJLZXkJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAAMbmV3QXVjdGlvbklkAgAAAA9fbGFzdF9iaWRfb3duZXIEAAAAD2F1Y3Rpb25Pd25lcktleQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAxuZXdBdWN0aW9uSWQCAAAABl9vd25lcgQAAAAQYXVjdGlvbkFtb3VudEtleQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAxuZXdBdWN0aW9uSWQCAAAAB19hbW91bnQEAAAAEWF1Y3Rpb25Bc3NldElkS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAADG5ld0F1Y3Rpb25JZAIAAAAJX2Fzc2V0X2lkBAAAABJhdWN0aW9uSXNBY3RpdmVLZXkJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAAMbmV3QXVjdGlvbklkAgAAAApfaXNfYWN0aXZlBAAAAA51c2VyQmFsYW5jZUtleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYmFsYW5jZV8FAAAAC293bmVyV2FsbGV0AgAAAAFfBQAAAAdhc3NldElkBAAAAA1jdXJyZW50QW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAADnVzZXJCYWxhbmNlS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAACW5ld0Ftb3VudAkAAGQAAAACBQAAAA1jdXJyZW50QW1vdW50CAUAAAADcG10AAAABmFtb3VudAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAARYXVjdGlvbkxhc3RCaWRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAD2F1Y3Rpb25Pd25lcktleQUAAAALb3duZXJXYWxsZXQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAEGF1Y3Rpb25BbW91bnRLZXkIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABFhdWN0aW9uQXNzZXRJZEtleQUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAOdXNlckJhbGFuY2VLZXkFAAAACW5ld0Ftb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASYXVjdGlvbklzQWN0aXZlS2V5BgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAWYXVjdGlvbkxhc3RCaWRPd25lcktleQIAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABBsYXN0QXVjdGlvbklkS2V5BQAAAAJpZAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5BAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAA3N0eAUAAAAHJG1hdGNoMAYHB1jraV8=", "chainId": 84, "height": 556367, "spentComplexity": 0 } View: original | compacted Prev: 7mVp76F4UpMeDWKvdDEYANqpQt8Ve2z29SWPoeifPe8m Next: 56smDaFiP2ABtobgZiYiF3esvnAKwFVZ5PCKPMQCLwuU Diff:
OldNewDifferences
7373 then throw(l)
7474 else if (F)
7575 then throw(m)
76- else WriteSet([DataEntry(C, D), DataEntry(c, toString(B)), n(C, d, toString(I)), n(C, e, toString(A)), n(C, f, g)])
76+ else WriteSet([DataEntry(C, D), DataEntry(c, B), n(C, d, toString(I)), n(C, e, toString(A)), n(C, f, g)])
7777 }
7878
7979
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'HSP9V7edVKjfLJUfRkEF6vfV9Tyz4Us4yqH9rkwqnHY'
55
66 let b = 21
77
88 let c = "APP_GAME_ID"
99
1010 let d = "AMOUNT"
1111
1212 let e = "SECTION"
1313
1414 let f = "STATUS"
1515
1616 let g = "NEW"
1717
1818 let h = "error_only_waves_accepted"
1919
2020 let i = "Parameter size must be greater than 0"
2121
2222 let j = "Parameter size must be less than 100"
2323
2424 let k = "Bet amount must be in Waves"
2525
2626 let l = "Transaction's fee must be in Waves"
2727
2828 let m = "Passed txId had been used before. Game aborted."
2929
3030 func n (o,p,q) = DataEntry(((o + "_") + p), q)
3131
3232
3333 func r () = {
3434 let s = {
3535 let t = getInteger(this, c)
3636 if ($isInstanceOf(t, "Int"))
3737 then {
3838 let u = t
3939 u
4040 }
4141 else 0
4242 }
4343 (s + 1)
4444 }
4545
4646
4747 @Callable(v)
4848 func GenerateRandInt (w,x) = {
4949 let y = sigVerify(fromBase58String(w), fromBase58String(x), a)
5050 if (y)
5151 then {
5252 let z = (toInt(sha256(toBytes(x))) % b)
5353 WriteSet([DataEntry("orig", toInt(sha256(toBytes(x)))), DataEntry("rand", z)])
5454 }
5555 else throw("Invalid RSA signature")
5656 }
5757
5858
5959
6060 @Callable(v)
6161 func bet (A) = {
6262 let B = r()
6363 let C = toBase58String(v.transactionId)
6464 let D = toBase58String(v.caller.bytes)
6565 let E = extract(v.payment)
6666 let F = isDefined(getString(this, C))
6767 let G = isDefined(E.assetId)
6868 let H = isDefined(E.assetId)
6969 let I = E.amount
7070 if (G)
7171 then throw(k)
7272 else if (H)
7373 then throw(l)
7474 else if (F)
7575 then throw(m)
76- else WriteSet([DataEntry(C, D), DataEntry(c, toString(B)), n(C, d, toString(I)), n(C, e, toString(A)), n(C, f, g)])
76+ else WriteSet([DataEntry(C, D), DataEntry(c, B), n(C, d, toString(I)), n(C, e, toString(A)), n(C, f, g)])
7777 }
7878
7979
8080
8181 @Callable(v)
8282 func bet111 (A) = {
8383 let J = "last_auction_id"
8484 let K = {
8585 let t = getInteger(this, J)
8686 if ($isInstanceOf(t, "Int"))
8787 then {
8888 let L = t
8989 L
9090 }
9191 else 0
9292 }
9393 let M = (K + 1)
9494 let N = toString(M)
9595 let O = toBase58String(v.caller.bytes)
9696 let E = value(v.payment)
9797 if (isDefined(E.assetId))
9898 then throw(h)
9999 else {
100100 let P = toBase58String(value(E.assetId))
101101 let Q = (("auction_" + N) + "_duration")
102102 let R = (("auction_" + N) + "_min_bid")
103103 let S = (("auction_" + N) + "_last_bid")
104104 let T = (("auction_" + N) + "_last_bid_owner")
105105 let U = (("auction_" + N) + "_owner")
106106 let V = (("auction_" + N) + "_amount")
107107 let W = (("auction_" + N) + "_asset_id")
108108 let X = (("auction_" + N) + "_is_active")
109109 let Y = ((("balance_" + O) + "_") + P)
110110 let Z = {
111111 let t = getInteger(this, Y)
112112 if ($isInstanceOf(t, "Int"))
113113 then {
114114 let L = t
115115 L
116116 }
117117 else 0
118118 }
119119 let aa = (Z + E.amount)
120120 WriteSet([DataEntry(S, 0), DataEntry(U, O), DataEntry(V, E.amount), DataEntry(W, P), DataEntry(Y, aa), DataEntry(X, true), DataEntry(T, ""), DataEntry(J, M)])
121121 }
122122 }
123123
124124
125125 @Verifier(ab)
126126 func ac () = if (sigVerify(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey))
127127 then {
128128 let t = ab
129129 if ($isInstanceOf(t, "SetScriptTransaction"))
130130 then {
131131 let ad = t
132132 true
133133 }
134134 else false
135135 }
136136 else false
137137

github/deemru/w8io/873ac7e 
112.35 ms