tx · 23uNSTdLVq9AJYdPTqaUC1sWqEtuiRFqzz63v1XtuaHh

3N8M61KCm8G72mK8PjacFbnnxdbFsyqQDeT:  -0.01400000 Waves

2019.06.23 14:06 [554604] smart account 3N8M61KCm8G72mK8PjacFbnnxdbFsyqQDeT > SELF 0.00000000 Waves

{ "type": 13, "id": "23uNSTdLVq9AJYdPTqaUC1sWqEtuiRFqzz63v1XtuaHh", "fee": 1400000, "feeAssetId": null, "timestamp": 1561288059932, "version": 1, "sender": "3N8M61KCm8G72mK8PjacFbnnxdbFsyqQDeT", "senderPublicKey": "Bhyvkx4xdbEi4KPJNZSzx9gZgzgyLEsavuj2kYSt7SST", "proofs": [ "38LE3WA8oW37AQ53t59atfDdBFvMogEK1Ec69bp4CQmAQ9BQySGnNFphmky24oAKCQTDEpiBV7XMLPyP7Lk8Be8R" ], "script": "base64:AAIDAAAAAAAAAAAAAAADAAAAABZFcnJvck9ubHlXYXZlc0FjY2VwdGVkAgAAABllcnJvcl9vbmx5X3dhdmVzX2FjY2VwdGVkAAAAAA9TZXJ2ZXJQdWJsaWNLZXkBAAAAGgFUyizbHfX10DqIle41wD/n3rZAR7k35/dEAAAAABBSb3VsZXR0ZVNlY3Rpb25zAAAAAAAAAAAVAAAAAgAAAAFpAQAAAA9HZW5lcmF0ZVJhbmRJbnQAAAACAAAABmdhbWVJZAAAAAdyc2FTaWduBAAAAAtyc2FTaWdWYWxpZAkAAfQAAAADCQACWQAAAAEFAAAABmdhbWVJZAkAAlkAAAABBQAAAAdyc2FTaWduBQAAAA9TZXJ2ZXJQdWJsaWNLZXkDBQAAAAtyc2FTaWdWYWxpZAQAAAAEcmFuZAkAAGoAAAACCQAEsQAAAAEJAAH3AAAAAQkAAZsAAAABBQAAAAdyc2FTaWduBQAAABBSb3VsZXR0ZVNlY3Rpb25zCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAARvcmlnCQAEsQAAAAEJAAH3AAAAAQkAAZsAAAABBQAAAAdyc2FTaWduCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAARyYW5kBQAAAARyYW5kBQAAAANuaWwJAAACAAAAAQIAAAAVSW52YWxpZCBSU0Egc2lnbmF0dXJlAAAAAWkBAAAAA2JldAAAAAEAAAAOZXhwZWN0ZWRSZXN1bHQEAAAAEGxhc3RBdWN0aW9uSWRLZXkCAAAAD2xhc3RfYXVjdGlvbl9pZAQAAAANbGFzdEF1Y3Rpb25JZAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABBsYXN0QXVjdGlvbklkS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAAmlkCQAAZAAAAAIFAAAADWxhc3RBdWN0aW9uSWQAAAAAAAAAAAEEAAAADG5ld0F1Y3Rpb25JZAkAAaQAAAABBQAAAAJpZAQAAAALb3duZXJXYWxsZXQJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAADcG10CQEAAAAFdmFsdWUAAAABCAUAAAABaQAAAAdwYXltZW50AwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABBQAAABZFcnJvck9ubHlXYXZlc0FjY2VwdGVkBAAAAAdhc3NldElkCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAASYXVjdGlvbkR1cmF0aW9uS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAADG5ld0F1Y3Rpb25JZAIAAAAJX2R1cmF0aW9uBAAAABBhdWN0aW9uTWluQmlkS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAADG5ld0F1Y3Rpb25JZAIAAAAIX21pbl9iaWQEAAAAEWF1Y3Rpb25MYXN0QmlkS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAADG5ld0F1Y3Rpb25JZAIAAAAJX2xhc3RfYmlkBAAAABZhdWN0aW9uTGFzdEJpZE93bmVyS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAADG5ld0F1Y3Rpb25JZAIAAAAPX2xhc3RfYmlkX293bmVyBAAAAA9hdWN0aW9uT3duZXJLZXkJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAAMbmV3QXVjdGlvbklkAgAAAAZfb3duZXIEAAAAEGF1Y3Rpb25BbW91bnRLZXkJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAAMbmV3QXVjdGlvbklkAgAAAAdfYW1vdW50BAAAABFhdWN0aW9uQXNzZXRJZEtleQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAxuZXdBdWN0aW9uSWQCAAAACV9hc3NldF9pZAQAAAASYXVjdGlvbklzQWN0aXZlS2V5CQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAADG5ld0F1Y3Rpb25JZAIAAAAKX2lzX2FjdGl2ZQQAAAAOdXNlckJhbGFuY2VLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGJhbGFuY2VfBQAAAAtvd25lcldhbGxldAIAAAABXwUAAAAHYXNzZXRJZAQAAAANY3VycmVudEFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAA51c2VyQmFsYW5jZUtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAluZXdBbW91bnQJAABkAAAAAgUAAAANY3VycmVudEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAEWF1Y3Rpb25MYXN0QmlkS2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA9hdWN0aW9uT3duZXJLZXkFAAAAC293bmVyV2FsbGV0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABBhdWN0aW9uQW1vdW50S2V5CAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAARYXVjdGlvbkFzc2V0SWRLZXkFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADnVzZXJCYWxhbmNlS2V5BQAAAAluZXdBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAEmF1Y3Rpb25Jc0FjdGl2ZUtleQYJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAFmF1Y3Rpb25MYXN0QmlkT3duZXJLZXkCAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAQbGFzdEF1Y3Rpb25JZEtleQUAAAACaWQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAADCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAA3R0eAUAAAAHJG1hdGNoMAkAAGcAAAACCQAAZQAAAAIJAQAAAAx3YXZlc0JhbGFuY2UAAAABBQAAAAR0aGlzCAUAAAADdHR4AAAABmFtb3VudAAAAAAAAAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAA3N0eAUAAAAHJG1hdGNoMAYHBxmnuTI=", "chainId": 84, "height": 554604, "spentComplexity": 0 } View: original | compacted Prev: 31GxSwSmiVzH3wLTdCjjLf2WZjKuRhXvejftbzSt2Dqb Next: 469nR6kLbqvmHhEbJJUes3SiKNzuykLrQXUuhqW9G8Dx Diff:
OldNewDifferences
55
66 let b = base58'3N8M61KCm8G72mK8PjacFbnnxdbFsyqQDeT'
77
8-@Callable(c)
9-func GenerateRandInt (d,e) = {
10- let f = sigVerify(fromBase58String(d), fromBase58String(e), c.callerPublicKey)
11- if (f)
8+let c = 21
9+
10+@Callable(d)
11+func GenerateRandInt (e,f) = {
12+ let g = sigVerify(fromBase58String(e), fromBase58String(f), b)
13+ if (g)
1214 then {
13- let g = (toInt(sha256(toBytes(e))) % 6)
14- WriteSet([DataEntry("orig", toInt(sha256(toBytes(e)))), DataEntry("rand", g)])
15+ let h = (toInt(sha256(toBytes(f))) % c)
16+ WriteSet([DataEntry("orig", toInt(sha256(toBytes(f)))), DataEntry("rand", h)])
1517 }
1618 else throw("Invalid RSA signature")
1719 }
1820
1921
2022
21-@Callable(c)
22-func SetData (h,i) = if ((h == "hello"))
23- then throw("NONONON!!")
24- else WriteSet([DataEntry(h, i)])
25-
26-
27-
28-@Callable(c)
29-func bet (j) = {
30- let k = "last_auction_id"
31- let l = {
32- let m = getInteger(this, k)
33- if ($isInstanceOf(m, "Int"))
23+@Callable(d)
24+func bet (i) = {
25+ let j = "last_auction_id"
26+ let k = {
27+ let l = getInteger(this, j)
28+ if ($isInstanceOf(l, "Int"))
3429 then {
35- let n = m
36- n
30+ let m = l
31+ m
3732 }
3833 else 0
3934 }
40- let o = (l + 1)
41- let p = toString(o)
42- let q = toBase58String(c.caller.bytes)
43- let r = value(c.payment)
44- if (isDefined(r.assetId))
35+ let n = (k + 1)
36+ let o = toString(n)
37+ let p = toBase58String(d.caller.bytes)
38+ let q = value(d.payment)
39+ if (isDefined(q.assetId))
4540 then throw(a)
4641 else {
47- let s = toBase58String(value(r.assetId))
48- let t = (("auction_" + p) + "_duration")
49- let u = (("auction_" + p) + "_min_bid")
50- let v = (("auction_" + p) + "_last_bid")
51- let w = (("auction_" + p) + "_last_bid_owner")
52- let x = (("auction_" + p) + "_owner")
53- let y = (("auction_" + p) + "_amount")
54- let z = (("auction_" + p) + "_asset_id")
55- let A = (("auction_" + p) + "_is_active")
56- let B = ((("balance_" + q) + "_") + s)
57- let C = {
58- let m = getInteger(this, B)
59- if ($isInstanceOf(m, "Int"))
42+ let r = toBase58String(value(q.assetId))
43+ let s = (("auction_" + o) + "_duration")
44+ let t = (("auction_" + o) + "_min_bid")
45+ let u = (("auction_" + o) + "_last_bid")
46+ let v = (("auction_" + o) + "_last_bid_owner")
47+ let w = (("auction_" + o) + "_owner")
48+ let x = (("auction_" + o) + "_amount")
49+ let y = (("auction_" + o) + "_asset_id")
50+ let z = (("auction_" + o) + "_is_active")
51+ let A = ((("balance_" + p) + "_") + r)
52+ let B = {
53+ let l = getInteger(this, A)
54+ if ($isInstanceOf(l, "Int"))
6055 then {
61- let n = m
62- n
56+ let m = l
57+ m
6358 }
6459 else 0
6560 }
66- let D = (C + r.amount)
67- WriteSet([DataEntry(v, 0), DataEntry(x, q), DataEntry(y, r.amount), DataEntry(z, s), DataEntry(B, D), DataEntry(A, true), DataEntry(w, ""), DataEntry(k, o)])
61+ let C = (B + q.amount)
62+ WriteSet([DataEntry(u, 0), DataEntry(w, p), DataEntry(x, q.amount), DataEntry(y, r), DataEntry(A, C), DataEntry(z, true), DataEntry(v, ""), DataEntry(j, n)])
6863 }
6964 }
7065
66+
67+@Verifier(D)
68+func E () = if (sigVerify(D.bodyBytes, D.proofs[0], D.senderPublicKey))
69+ then {
70+ let l = D
71+ if ($isInstanceOf(l, "TransferTransaction"))
72+ then {
73+ let F = l
74+ ((wavesBalance(this) - F.amount) >= 0)
75+ }
76+ else if ($isInstanceOf(l, "SetScriptTransaction"))
77+ then {
78+ let G = l
79+ true
80+ }
81+ else false
82+ }
83+ else false
7184
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "error_only_waves_accepted"
55
66 let b = base58'3N8M61KCm8G72mK8PjacFbnnxdbFsyqQDeT'
77
8-@Callable(c)
9-func GenerateRandInt (d,e) = {
10- let f = sigVerify(fromBase58String(d), fromBase58String(e), c.callerPublicKey)
11- if (f)
8+let c = 21
9+
10+@Callable(d)
11+func GenerateRandInt (e,f) = {
12+ let g = sigVerify(fromBase58String(e), fromBase58String(f), b)
13+ if (g)
1214 then {
13- let g = (toInt(sha256(toBytes(e))) % 6)
14- WriteSet([DataEntry("orig", toInt(sha256(toBytes(e)))), DataEntry("rand", g)])
15+ let h = (toInt(sha256(toBytes(f))) % c)
16+ WriteSet([DataEntry("orig", toInt(sha256(toBytes(f)))), DataEntry("rand", h)])
1517 }
1618 else throw("Invalid RSA signature")
1719 }
1820
1921
2022
21-@Callable(c)
22-func SetData (h,i) = if ((h == "hello"))
23- then throw("NONONON!!")
24- else WriteSet([DataEntry(h, i)])
25-
26-
27-
28-@Callable(c)
29-func bet (j) = {
30- let k = "last_auction_id"
31- let l = {
32- let m = getInteger(this, k)
33- if ($isInstanceOf(m, "Int"))
23+@Callable(d)
24+func bet (i) = {
25+ let j = "last_auction_id"
26+ let k = {
27+ let l = getInteger(this, j)
28+ if ($isInstanceOf(l, "Int"))
3429 then {
35- let n = m
36- n
30+ let m = l
31+ m
3732 }
3833 else 0
3934 }
40- let o = (l + 1)
41- let p = toString(o)
42- let q = toBase58String(c.caller.bytes)
43- let r = value(c.payment)
44- if (isDefined(r.assetId))
35+ let n = (k + 1)
36+ let o = toString(n)
37+ let p = toBase58String(d.caller.bytes)
38+ let q = value(d.payment)
39+ if (isDefined(q.assetId))
4540 then throw(a)
4641 else {
47- let s = toBase58String(value(r.assetId))
48- let t = (("auction_" + p) + "_duration")
49- let u = (("auction_" + p) + "_min_bid")
50- let v = (("auction_" + p) + "_last_bid")
51- let w = (("auction_" + p) + "_last_bid_owner")
52- let x = (("auction_" + p) + "_owner")
53- let y = (("auction_" + p) + "_amount")
54- let z = (("auction_" + p) + "_asset_id")
55- let A = (("auction_" + p) + "_is_active")
56- let B = ((("balance_" + q) + "_") + s)
57- let C = {
58- let m = getInteger(this, B)
59- if ($isInstanceOf(m, "Int"))
42+ let r = toBase58String(value(q.assetId))
43+ let s = (("auction_" + o) + "_duration")
44+ let t = (("auction_" + o) + "_min_bid")
45+ let u = (("auction_" + o) + "_last_bid")
46+ let v = (("auction_" + o) + "_last_bid_owner")
47+ let w = (("auction_" + o) + "_owner")
48+ let x = (("auction_" + o) + "_amount")
49+ let y = (("auction_" + o) + "_asset_id")
50+ let z = (("auction_" + o) + "_is_active")
51+ let A = ((("balance_" + p) + "_") + r)
52+ let B = {
53+ let l = getInteger(this, A)
54+ if ($isInstanceOf(l, "Int"))
6055 then {
61- let n = m
62- n
56+ let m = l
57+ m
6358 }
6459 else 0
6560 }
66- let D = (C + r.amount)
67- WriteSet([DataEntry(v, 0), DataEntry(x, q), DataEntry(y, r.amount), DataEntry(z, s), DataEntry(B, D), DataEntry(A, true), DataEntry(w, ""), DataEntry(k, o)])
61+ let C = (B + q.amount)
62+ WriteSet([DataEntry(u, 0), DataEntry(w, p), DataEntry(x, q.amount), DataEntry(y, r), DataEntry(A, C), DataEntry(z, true), DataEntry(v, ""), DataEntry(j, n)])
6863 }
6964 }
7065
66+
67+@Verifier(D)
68+func E () = if (sigVerify(D.bodyBytes, D.proofs[0], D.senderPublicKey))
69+ then {
70+ let l = D
71+ if ($isInstanceOf(l, "TransferTransaction"))
72+ then {
73+ let F = l
74+ ((wavesBalance(this) - F.amount) >= 0)
75+ }
76+ else if ($isInstanceOf(l, "SetScriptTransaction"))
77+ then {
78+ let G = l
79+ true
80+ }
81+ else false
82+ }
83+ else false
7184

github/deemru/w8io/3ef1775 
83.17 ms