tx · GmNP4HE5ZkLnegjDwMsZ82iCFo4NDckWUW9SoYC2ep5W

3N37RXx61BWd8dahk6LxCSspADJysrasbDr:  -0.01500000 Waves

2019.06.24 19:52 [556436] smart account 3N37RXx61BWd8dahk6LxCSspADJysrasbDr > SELF 0.00000000 Waves

{ "type": 13, "id": "GmNP4HE5ZkLnegjDwMsZ82iCFo4NDckWUW9SoYC2ep5W", "fee": 1500000, "feeAssetId": null, "timestamp": 1561395224618, "version": 1, "sender": "3N37RXx61BWd8dahk6LxCSspADJysrasbDr", "senderPublicKey": "pMrxFngj2NBfm46w4iQWJzCxh9VmjZ4hfVAWgnN3Gwe", "proofs": [ "4xqjTf3XffArucQssa1eFEaUXyDzeUGutq7ySYRbiGLk22FpSPyiziQZBPQLkDC1ii4evNJpHiup9tdiZj6cd3BF" ], "script": "base64:AAIDAAAAAAAAAAAAAAAGAAAAAAlSU0FQVUJMSUMJAAJbAAAAAQIAAAGPYmFzZTY0Ok1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcWxBaUFOU21CcERIWUtQOXNLZ2VOL2wxYkFiMjhnL3RHbGdEa3dUNUZpTU40WDNwd2R2ZHhFN212U1I4LzQxZFU5cng0akcrNnRacGIxVUxWRFBzNDMxdFIySVJhVFh3NUNqK0FjMnZoTCs1SmFtQ2VyR0QxVVcrYmgvRUdRdHhvOFczWUxEcm9mWEI1UUhKeDRQa3oyS2dmK29TL0M4aEh1Qi9VNGtyTzc2VTA1MDdHVGpaUFA5a1JRMHVMU01lcVFYdDh3WFMrbk1wNXdhanF4UHBETE1hU1JFZ3NLd3YvQUVrUDRkenBUWWJpa0xCWWw0cXRkSnNEODRITEZTa2l3ZDNCaGNPclBqb0lZbUx4UXVCRDVUSU1LVEtEM3NkWmdhWTlyc3lxeDNBMDBpbm55eEQ2enAzYjRnRnBVT1g4SnhLWmRFQzJteUVxbGVOZ2c3R3p3SURBUUFCAAAAAAZTRVJWRVIJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQIAAAAjM05DaUcyOExtV3lUaWdXRzEzRTVRbnZkSEJzWkZZWFNTMmoBAAAACVJhbmRUb1N0cgAAAAEAAAABcgMDCQAAZwAAAAIFAAAAAXIAAAAAAAAAAAEJAABnAAAAAgAAAAAAAAAAZAUAAAABcgcJAAGkAAAAAQUAAAABcgkAAAIAAAABCQABLAAAAAICAAAAPFVuc3VwcG9ydGVkIHIgcGFyYW1ldGVyIHBhc3NlZDogZXhwZWN0ZWQ9WzEsLi4uLDEwMF0gYWN0dWFsPQkAAaQAAAABBQAAAAFyAQAAAANhYnMAAAABAAAAA3ZhbAMJAABmAAAAAgAAAAAAAAAAAAUAAAADdmFsCQEAAAABLQAAAAEFAAAAA3ZhbAUAAAADdmFsAQAAAAhOZXh0UmFuZAAAAAIAAAAIY3VyclZlY3QAAAAIcmFuZEhhc2gEAAAABHJhbmQJAQAAAANhYnMAAAABCQAEsQAAAAEFAAAACHJhbmRIYXNoBAAAAAhyYW5kVmVjdAkAAZoAAAABBQAAAARyYW5kBAAAAAFzCQAAaQAAAAIJAADIAAAAAQUAAAAIY3VyclZlY3QAAAAAAAAAAAgDCQAAAAAAAAIAAAAAAAAAAAAFAAAAAXMFAAAACHJhbmRWZWN0BAAAAAlkdXBsaWNhdGUDAwMDAwMDAwMDCQAAZwAAAAIFAAAAAXMAAAAAAAAAAAEJAAAAAAAAAgkAAMkAAAACCQAAygAAAAIFAAAACGN1cnJWZWN0AAAAAAAAAAAAAAAAAAAAAAAIBQAAAAhyYW5kVmVjdAcGAwkAAGcAAAACBQAAAAFzAAAAAAAAAAACCQAAAAAAAAIJAADJAAAAAgkAAMoAAAACBQAAAAhjdXJyVmVjdAkAAGgAAAACAAAAAAAAAAABAAAAAAAAAAAIAAAAAAAAAAAIBQAAAAhyYW5kVmVjdAcGAwkAAGcAAAACBQAAAAFzAAAAAAAAAAADCQAAAAAAAAIJAADJAAAAAgkAAMoAAAACBQAAAAhjdXJyVmVjdAkAAGgAAAACAAAAAAAAAAACAAAAAAAAAAAIAAAAAAAAAAAIBQAAAAhyYW5kVmVjdAcGAwkAAGcAAAACBQAAAAFzAAAAAAAAAAAECQAAAAAAAAIJAADJAAAAAgkAAMoAAAACBQAAAAhjdXJyVmVjdAkAAGgAAAACAAAAAAAAAAADAAAAAAAAAAAIAAAAAAAAAAAIBQAAAAhyYW5kVmVjdAcGAwkAAGcAAAACBQAAAAFzAAAAAAAAAAAFCQAAAAAAAAIJAADJAAAAAgkAAMoAAAACBQAAAAhjdXJyVmVjdAkAAGgAAAACAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAIBQAAAAhyYW5kVmVjdAcGAwkAAGcAAAACBQAAAAFzAAAAAAAAAAAGCQAAAAAAAAIJAADJAAAAAgkAAMoAAAACBQAAAAhjdXJyVmVjdAkAAGgAAAACAAAAAAAAAAAFAAAAAAAAAAAIAAAAAAAAAAAIBQAAAAhyYW5kVmVjdAcGAwkAAGcAAAACBQAAAAFzAAAAAAAAAAAHCQAAAAAAAAIJAADJAAAAAgkAAMoAAAACBQAAAAhjdXJyVmVjdAkAAGgAAAACAAAAAAAAAAAGAAAAAAAAAAAIAAAAAAAAAAAIBQAAAAhyYW5kVmVjdAcGAwkAAGcAAAACBQAAAAFzAAAAAAAAAAAICQAAAAAAAAIJAADJAAAAAgkAAMoAAAACBQAAAAhjdXJyVmVjdAkAAGgAAAACAAAAAAAAAAAHAAAAAAAAAAAIAAAAAAAAAAAIBQAAAAhyYW5kVmVjdAcGAwkAAGcAAAACBQAAAAFzAAAAAAAAAAAJCQAAAAAAAAIJAADJAAAAAgkAAMoAAAACBQAAAAhjdXJyVmVjdAkAAGgAAAACAAAAAAAAAAAIAAAAAAAAAAAIAAAAAAAAAAAIBQAAAAhyYW5kVmVjdAcGAwkAAGcAAAACBQAAAAFzAAAAAAAAAAAKCQAAAAAAAAIJAADJAAAAAgkAAMoAAAACBQAAAAhjdXJyVmVjdAkAAGgAAAACAAAAAAAAAAAJAAAAAAAAAAAIAAAAAAAAAAAIBQAAAAhyYW5kVmVjdAcDBQAAAAlkdXBsaWNhdGUJAADLAAAAAgUAAAAIY3VyclZlY3QFAAAACHJhbmRWZWN0BQAAAAhjdXJyVmVjdAEAAAASR2VuZXJhdGVSYW5kVmVjdG9yAAAAAwAAAAlzZXNzaW9uSWQAAAABcwAAAAdyc2FTaWduBAAAAAhlbXB0eVZlYwkAAZsAAAABAgAAAAAEAAAAC3JzYVNpZ1ZhbGlkCQAB+AAAAAQFAAAABlNIQTI1NgkAAZsAAAABBQAAAAlzZXNzaW9uSWQFAAAAB3JzYVNpZ24FAAAACVJTQVBVQkxJQwMFAAAAC3JzYVNpZ1ZhbGlkBAAAAAhyYW5kSGFzaAkAAfcAAAABBQAAAAdyc2FTaWduBAAAAAljdXJyVmVjdDEJAQAAAAhOZXh0UmFuZAAAAAIFAAAACGVtcHR5VmVjBQAAAAhyYW5kSGFzaAQAAAAJY3VyclZlY3QyCQEAAAAITmV4dFJhbmQAAAACBQAAAAljdXJyVmVjdDEFAAAACHJhbmRIYXNoBAAAAAljdXJyVmVjdDMJAQAAAAhOZXh0UmFuZAAAAAIFAAAACWN1cnJWZWN0MgUAAAAIcmFuZEhhc2gEAAAACWN1cnJWZWN0NAkBAAAACE5leHRSYW5kAAAAAgUAAAAJY3VyclZlY3QzBQAAAAhyYW5kSGFzaAQAAAAJY3VyclZlY3Q1CQEAAAAITmV4dFJhbmQAAAACBQAAAAljdXJyVmVjdDQFAAAACHJhbmRIYXNoBAAAAAljdXJyVmVjdDYJAQAAAAhOZXh0UmFuZAAAAAIFAAAACWN1cnJWZWN0NQUAAAAIcmFuZEhhc2gEAAAACWN1cnJWZWN0NwkBAAAACE5leHRSYW5kAAAAAgUAAAAJY3VyclZlY3Q2BQAAAAhyYW5kSGFzaAQAAAAJY3VyclZlY3Q4CQEAAAAITmV4dFJhbmQAAAACBQAAAAljdXJyVmVjdDcFAAAACHJhbmRIYXNoBAAAAAljdXJyVmVjdDkJAQAAAAhOZXh0UmFuZAAAAAIFAAAACWN1cnJWZWN0OAUAAAAIcmFuZEhhc2gJAQAAAAhOZXh0UmFuZAAAAAIFAAAACWN1cnJWZWN0OQUAAAAIcmFuZEhhc2gJAAACAAAAAQIAAAAVSW52YWxpZCBSU0Egc2lnbmF0dXJlAAAAAQAAAAFpAQAAAAZyYW5kb20AAAACAAAACXNlc3Npb25JZAAAAAdyc2FTaWduBAAAAAhjdXJyVmVjdAkBAAAAEkdlbmVyYXRlUmFuZFZlY3RvcgAAAAMFAAAACXNlc3Npb25JZAAAAAAAAAAACgUAAAAHcnNhU2lnbgQAAAAFcmFuZDEJAAGkAAAAAQkABLEAAAABCQAAyQAAAAIJAADKAAAAAgUAAAAIY3VyclZlY3QAAAAAAAAAAAAAAAAAAAAAAAgEAAAABXJhbmQyCQABpAAAAAEJAASxAAAAAQkAAMkAAAACCQAAygAAAAIFAAAACGN1cnJWZWN0CQAAaAAAAAIAAAAAAAAAAAEAAAAAAAAAAAgAAAAAAAAAAAgEAAAABXJhbmQzCQABpAAAAAEJAASxAAAAAQkAAMkAAAACCQAAygAAAAIFAAAACGN1cnJWZWN0CQAAaAAAAAIAAAAAAAAAAAIAAAAAAAAAAAgAAAAAAAAAAAgEAAAABXJhbmQ0CQABpAAAAAEJAASxAAAAAQkAAMkAAAACCQAAygAAAAIFAAAACGN1cnJWZWN0CQAAaAAAAAIAAAAAAAAAAAMAAAAAAAAAAAgAAAAAAAAAAAgEAAAABXJhbmQ1CQABpAAAAAEJAASxAAAAAQkAAMkAAAACCQAAygAAAAIFAAAACGN1cnJWZWN0CQAAaAAAAAIAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAgEAAAABXJhbmQ2CQABpAAAAAEJAASxAAAAAQkAAMkAAAACCQAAygAAAAIFAAAACGN1cnJWZWN0CQAAaAAAAAIAAAAAAAAAAAUAAAAAAAAAAAgAAAAAAAAAAAgEAAAABXJhbmQ3CQABpAAAAAEJAASxAAAAAQkAAMkAAAACCQAAygAAAAIFAAAACGN1cnJWZWN0CQAAaAAAAAIAAAAAAAAAAAYAAAAAAAAAAAgAAAAAAAAAAAgEAAAABXJhbmQ4CQABpAAAAAEJAASxAAAAAQkAAMkAAAACCQAAygAAAAIFAAAACGN1cnJWZWN0CQAAaAAAAAIAAAAAAAAAAAcAAAAAAAAAAAgAAAAAAAAAAAgEAAAABXJhbmQ5CQABpAAAAAEJAASxAAAAAQkAAMkAAAACCQAAygAAAAIFAAAACGN1cnJWZWN0CQAAaAAAAAIAAAAAAAAAAAgAAAAAAAAAAAgAAAAAAAAAAAgEAAAABnJhbmQxMAkAAaQAAAABCQAEsQAAAAEJAADJAAAAAgkAAMoAAAACBQAAAAhjdXJyVmVjdAkAAGgAAAACAAAAAAAAAAAJAAAAAAAAAAAIAAAAAAAAAAAICQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAABFHZW5lcmF0ZWRfTnVtYmVycwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAFcmFuZDECAAAAAV8FAAAABXJhbmQyAgAAAAFfBQAAAAVyYW5kMwIAAAABXwUAAAAFcmFuZDQCAAAAAV8FAAAABXJhbmQ1AgAAAAFfBQAAAAVyYW5kNgIAAAABXwUAAAAFcmFuZDcCAAAAAV8FAAAABXJhbmQ4AgAAAAFfBQAAAAVyYW5kOQIAAAABXwUAAAAGcmFuZDEwBQAAAANuaWwAAAAAeCRe0A==", "chainId": 84, "height": 556436, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let RSAPUBLIC = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqlAiANSmBpDHYKP9sKgeN/l1bAb28g/tGlgDkwT5FiMN4X3pwdvdxE7mvSR8/41dU9rx4jG+6tZpb1ULVDPs431tR2IRaTXw5Cj+Ac2vhL+5JamCerGD1UW+bh/EGQtxo8W3YLDrofXB5QHJx4Pkz2Kgf+oS/C8hHuB/U4krO76U0507GTjZPP9kRQ0uLSMeqQXt8wXS+nMp5wajqxPpDLMaSREgsKwv/AEkP4dzpTYbikLBYl4qtdJsD84HLFSkiwd3BhcOrPjoIYmLxQuBD5TIMKTKD3sdZgaY9rsyqx3A00innyxD6zp3b4gFpUOX8JxKZdEC2myEqleNgg7GzwIDAQAB")
5+
6+let SERVER = addressFromStringValue("3NCiG28LmWyTigWG13E5QnvdHBsZFYXSS2j")
7+
8+func RandToStr (r) = if (if ((r >= 1))
9+ then (100 >= r)
10+ else false)
11+ then toString(r)
12+ else throw(("Unsupported r parameter passed: expected=[1,...,100] actual=" + toString(r)))
13+
14+
15+func abs (val) = if ((0 > val))
16+ then -(val)
17+ else val
18+
19+
20+func NextRand (currVect,randHash) = {
21+ let rand = abs(toInt(randHash))
22+ let randVect = toBytes(rand)
23+ let s = (size(currVect) / 8)
24+ if ((0 == s))
25+ then randVect
26+ else {
27+ let duplicate = if (if (if (if (if (if (if (if (if (if ((s >= 1))
28+ then (take(drop(currVect, 0), 8) == randVect)
29+ else false)
30+ then true
31+ else if ((s >= 2))
32+ then (take(drop(currVect, (1 * 8)), 8) == randVect)
33+ else false)
34+ then true
35+ else if ((s >= 3))
36+ then (take(drop(currVect, (2 * 8)), 8) == randVect)
37+ else false)
38+ then true
39+ else if ((s >= 4))
40+ then (take(drop(currVect, (3 * 8)), 8) == randVect)
41+ else false)
42+ then true
43+ else if ((s >= 5))
44+ then (take(drop(currVect, (4 * 8)), 8) == randVect)
45+ else false)
46+ then true
47+ else if ((s >= 6))
48+ then (take(drop(currVect, (5 * 8)), 8) == randVect)
49+ else false)
50+ then true
51+ else if ((s >= 7))
52+ then (take(drop(currVect, (6 * 8)), 8) == randVect)
53+ else false)
54+ then true
55+ else if ((s >= 8))
56+ then (take(drop(currVect, (7 * 8)), 8) == randVect)
57+ else false)
58+ then true
59+ else if ((s >= 9))
60+ then (take(drop(currVect, (8 * 8)), 8) == randVect)
61+ else false)
62+ then true
63+ else if ((s >= 10))
64+ then (take(drop(currVect, (9 * 8)), 8) == randVect)
65+ else false
66+ if (duplicate)
67+ then (currVect + randVect)
68+ else currVect
69+ }
70+ }
71+
72+
73+func GenerateRandVector (sessionId,s,rsaSign) = {
74+ let emptyVec = toBytes("")
75+ let rsaSigValid = rsaVerify(SHA256, toBytes(sessionId), rsaSign, RSAPUBLIC)
76+ if (rsaSigValid)
77+ then {
78+ let randHash = sha256(rsaSign)
79+ let currVect1 = NextRand(emptyVec, randHash)
80+ let currVect2 = NextRand(currVect1, randHash)
81+ let currVect3 = NextRand(currVect2, randHash)
82+ let currVect4 = NextRand(currVect3, randHash)
83+ let currVect5 = NextRand(currVect4, randHash)
84+ let currVect6 = NextRand(currVect5, randHash)
85+ let currVect7 = NextRand(currVect6, randHash)
86+ let currVect8 = NextRand(currVect7, randHash)
87+ let currVect9 = NextRand(currVect8, randHash)
88+ NextRand(currVect9, randHash)
89+ }
90+ else throw("Invalid RSA signature")
91+ }
92+
93+
94+@Callable(i)
95+func random (sessionId,rsaSign) = {
96+ let currVect = GenerateRandVector(sessionId, 10, rsaSign)
97+ let rand1 = toString(toInt(take(drop(currVect, 0), 8)))
98+ let rand2 = toString(toInt(take(drop(currVect, (1 * 8)), 8)))
99+ let rand3 = toString(toInt(take(drop(currVect, (2 * 8)), 8)))
100+ let rand4 = toString(toInt(take(drop(currVect, (3 * 8)), 8)))
101+ let rand5 = toString(toInt(take(drop(currVect, (4 * 8)), 8)))
102+ let rand6 = toString(toInt(take(drop(currVect, (5 * 8)), 8)))
103+ let rand7 = toString(toInt(take(drop(currVect, (6 * 8)), 8)))
104+ let rand8 = toString(toInt(take(drop(currVect, (7 * 8)), 8)))
105+ let rand9 = toString(toInt(take(drop(currVect, (8 * 8)), 8)))
106+ let rand10 = toString(toInt(take(drop(currVect, (9 * 8)), 8)))
107+ WriteSet([DataEntry("Generated_Numbers", ((((((((((((((((((rand1 + "_") + rand2) + "_") + rand3) + "_") + rand4) + "_") + rand5) + "_") + rand6) + "_") + rand7) + "_") + rand8) + "_") + rand9) + "_") + rand10))])
108+ }
109+
110+

github/deemru/w8io/169f3d6 
28.48 ms