tx · 3XK6M7LVrqCt8ibtUXQt8Eix4muLWgwnXrtWbhE48PFS 3N3BYKYYK6TKoHtPLZYU8JRn8PcHTnauS9z: -0.02000000 Waves 2021.12.15 15:49 [1835397] smart account 3N3BYKYYK6TKoHtPLZYU8JRn8PcHTnauS9z > SELF 0.00000000 Waves
{ "type": 13, "id": "3XK6M7LVrqCt8ibtUXQt8Eix4muLWgwnXrtWbhE48PFS", "fee": 2000000, "feeAssetId": null, "timestamp": 1639572595105, "version": 2, "chainId": 84, "sender": "3N3BYKYYK6TKoHtPLZYU8JRn8PcHTnauS9z", "senderPublicKey": "FsjTCE3KV2vD2r7Du9D3J6Ea2T643E6zxzn6y24outXr", "proofs": [ "b67KYYWpN27iQvcQMyUtijUi3J8bfGVbnvRvx2CiUMwkQ5Phym42QkFtVfYKN7PkLSWH4CKTJzwzCXhoL1P3MnN" ], "script": "base64:AAIDAAAAAAAABwoIARIFCgMBAQESBAoCCAIaDwoBQRIKcmFuZHNDb3VudBoTCgFCEg5yZW1haW5pbmdSYW5kcxoSCgFDEg1kYXRhS2V5c0NvdW50GhEKAUQSDGRhdGFEb25lVHhJZBoPCgFFEgpsYXN0T2Zmc2V0Gg0KAUYSCHNsb3dJZHgxGg0KAUcSCHNsb3dJZHgyGg0KAUgSCGZhc3RJZHgxGg0KAUkSCGZhc3RJZHgyGhAKAUoSC3JhbmRPckVtcHR5GhEKAUsSDGZ1bGxTdGF0ZVN0choYCgFMEhNleHRyYWN0R2FtZURhdGFMaXN0Gg4KAU0SCXNlc3Npb25JZBoPCgFOEgpyYXdEYXRhU3RyGg0KAU8SCG5leHRSYW5kGggKAVASA2RpdhoICgFREgNtaW4aEQoBUhIMY3VyclJhbmRzU3RyGhIKAVMSDXJlbWFpbmluZ0hhc2gaEAoBVBILbmV4dFJhbmRJbnQaEAoBVRILbmV4dFJhbmRTdHIaDgoBVhIJZHVwbGljYXRlGhEKAVcSDGdlbmVyYXRlUmFuZBoJCgFYEgRmcm9tGgcKAVkSAnRvGgwKAVoSB3JzYVNpZ24aDgoBYRIJUlNBUFVCTElDGgwKAmFBEgZib3VuZDMaEAoCYUISCmJhc2VQcmljZTMaCgoCYUMSBGRpdjMaCwoCYUQSBWRpZmYzGhEKAmFFEgttaW5SYW5kc1BtdBoMCgJhRhIGbWluUG10GgcKAmFHEgFpGhEKAmFIEgtyYW5nZUxlbmd0aBoUCgJhSRIObWF4UmFuZ2VMZW5ndGgaDwoCYUoSCXJhbmRUb0xlbhoTCgJhSxINcmFuZHNDb3VudExlbhoWCgJhTBIQZHluYW1pY1N0YXR1c0xlbhoTCgJhTRINbWF4UmFuZHNDb3VudBoOCgJhThIIcmFuZHNQbXQaDQoCYU8SB2RhdGFQbXQaEQoCYVASC2RhdGFUeENvdW50GhMKAmFREg1yYW5kc0NvdW50U3RyGg8KAmFSEglpbml0U3RhdGUaFAoCYVMSDmRyYXdQYXJhbXNMaXN0GhYKAmFUEhByZW1haW5SYW5kc0NvdW50Gg0KAmFVEgdmcm9tU3RyGgsKAmFWEgV0b1N0choVCgJhVxIPb3JnYW5pemVyUHViS2V5GhEKAmFYEgtyYW5kR2VuSW5mbxoVCgJhYRIPbGFzdE9mZnNldEJ5dGVzGhIKAmFiEgxjdXJyU2xvd0lkeDEaEgoCYWMSDGN1cnJTbG93SWR4MhoSCgJhZBIMY3VyckZhc3RJZHgxGhIKAmFlEgxjdXJyRmFzdElkeDIaEAoCYWYSCm5ld0luY0xpc3QaFAoCYWcSDnZhbGlkYXRlRHR4S2V5GgoKAmFoEgRkYXRhGhEKAmFpEgtkYXRhS2V5SW5mbxoSCgJhahIMa2V5U2Vzc2lvbklkGhAKAmFrEgprZXlQb3N0Zml4GhYKAmFsEhBrZXlQb3N0Zml4SW50T3B0GhMKAmFtEg1rZXlQb3N0Zml4SW50Gg0KAmFuEgckbWF0Y2gwGgkKAmFvEgNzdHIaHAoCYXASFnZhbGlkYXRlQW5kR2V0UmFuZHNQbXQaCQoCYXESA3BtdBoQCgJhchIKbWluRGF0YVBtdBoMCgJhcxIGYm91bmQxGhAKAmF0EgpiYXNlUHJpY2UxGgoKAmF1EgRkaXYxGgsKAmF2EgVkaWZmMRoMCgJhdxIGYm91bmQyGhAKAmF4EgpiYXNlUHJpY2UyGgoKAmF5EgRkaXYyGgsKAmF6EgVkaWZmMhoLCgFiEgZTRVJWRVIaDAoBYxIHV0FWRUxFVBoVCgFkEhBTRVNTSU9OSURGSVhTSVpFGhMKAWUSDlJBTkRDWUNMRVBSSUNFGhUKAWYSEE1BWFJBTkRTUEVSQ1lDTEUaDgoBZxIJU1RBVEVJTklUGg0KAWgSCERBVEFET05FGhIKAWkSDVNUQVRFRklOSVNIRUQaDQoBahIISWR4U3RhdGUaFAoBaxIPSWR4T3JnYW5pemVyUHViGhAKAWwSC0lkeFJhbmRGcm9tGg4KAW0SCUlkeFJhbmRUbxoSCgFuEg1JZHhSYW5kc0NvdW50GhgKAW8SE0lkeFJlbWFpblJhbmRzQ291bnQaFQoBcBIQSWR4RGF0YUtleXNDb3VudBoUCgFxEg9JZHhEYXRhRG9uZVR4SWQaEgoBchINSWR4TGFzdE9mZnNldBoRCgFzEgxJZHhDdXJyUmFuZHMaCAoBdBIDYWJzGggKAXUSA3ZhbBoXCgF2EhJmb3JtYXRTdGF0ZURhdGFTdHIaDgoBdxIJZHJhd1N0YXRlGhYKAXgSEW9yZ2FuaXplclB1YktleTU4Gg0KAXkSCHJhbmRGcm9tGgsKAXoSBnJhbmRUbwAAABoAAAAAAWEJAAJbAAAAAQIAAAFzYmFzZTY0OkxTMHRMUzFDUlVkSlRpQlFWVUpNU1VNZ1MwVlpMUzB0TFMwS1RVbEhaazFCTUVkRFUzRkhVMGxpTTBSUlJVSkJVVlZCUVRSSFRrRkVRMEpwVVV0Q1oxRkRSMjVIZDNaVmJHMW1URzVaVGtkeVJTc3pjelIyUVRaUlpBb3dhMjlQTnpkWlVqSkRkVFpwT1dRdmFsRTJPVkprVTBoSFJGbHdiM2hLTTFndlNTODRNbXRwUzFKUmNIbHdjV0pqVVM5VVkzSXhWMVZSTTFSRFFtazFDbkZtWXl0NFpXVnlPUzluY25oVU9FeEphekV2VkZoWFZFWkJRekEyTTNSM1YxZFBiVnBYY0dOUE4za3labFJ1VWtsa1NGUmxhVXMwVDFwelN5dDFaMlVLT1RkR1MzQlRiV294Y21wRlZERm1NMEYzU1VSQlVVRkNDaTB0TFMwdFJVNUVJRkJWUWt4SlF5QkxSVmt0TFMwdExRPT0AAAAAAWIJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQIAAAAjM040dmRxTXNFc0FaU0pXZndZSmNhQ2dVekFTSlRDMkJXc1AAAAAAAWMJAABoAAAAAgkAAGgAAAACAAAAAAAAAABkAAAAAAAAAAPoAAAAAAAAAAPoAAAAAAFkAAAAAAAAAAAsAAAAAAFlCQAAaQAAAAIJAABoAAAAAgAAAAAAAAAABQUAAAABYwAAAAAAAAAD6AAAAAABZgAAAAAAAAAADgAAAAABZwIAAAAESU5JVAAAAAABaAIAAAAFUkVBRFkAAAAAAWkCAAAACEZJTklTSEVEAAAAAAFqAAAAAAAAAAAAAAAAAAFrAAAAAAAAAAABAAAAAAFsAAAAAAAAAAACAAAAAAFtAAAAAAAAAAADAAAAAAFuAAAAAAAAAAAEAAAAAAFvAAAAAAAAAAAFAAAAAAFwAAAAAAAAAAAGAAAAAAFxAAAAAAAAAAAHAAAAAAFyAAAAAAAAAAAIAAAAAAFzAAAAAAAAAAANAQAAAAF0AAAAAQAAAAF1AwkAAGYAAAACAAAAAAAAAAAABQAAAAF1CQEAAAABLQAAAAEFAAAAAXUFAAAAAXUBAAAAAXYAAAAOAAAAAXcAAAABeAAA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", "height": 1835397, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7XLScQ29pXMkqHTw6ufUuSYViALYvGzS74qUESaqB5Lz Next: wwHH9oWy8GFRKRFuyS1BnqRCLD2DpYqqnS7sZCUTu7M Diff:
Old | New | Differences | |
---|---|---|---|
76 | 76 | then [0, (ab + 1), (ac + 1), 0, 1] | |
77 | 77 | else [0, ab, ac, (ad + 1), (ae + 1)] | |
78 | 78 | else [(aa + 1), ab, ac, ad, ae] | |
79 | - | | |
79 | + | af | |
80 | 80 | } | |
81 | 81 | ||
82 | 82 | ||
215 | 215 | then throw("Invalid RSA signature") | |
216 | 216 | else { | |
217 | 217 | let aX = W(M, X, Y, Z, R, aT, aa, F, G, H, I) | |
218 | - | WriteSet([DataEntry(" | |
218 | + | WriteSet([DataEntry("byteVect1", aX[1]), DataEntry("byteVect2", aX[2]), DataEntry("byteVect3", aX[3]), DataEntry("byteVect4", aX[4]), DataEntry((M + "test"), (toBytes(M) + toBytes(D))), DataEntry((M + "test-2"), "ds")]) | |
219 | 219 | } | |
220 | 220 | } | |
221 | 221 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = fromBase64String("base64:LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlHZk1BMEdDU3FHU0liM0RRRUJBUVVBQTRHTkFEQ0JpUUtCZ1FDR25Hd3ZVbG1mTG5ZTkdyRSszczR2QTZRZAowa29PNzdZUjJDdTZpOWQvalE2OVJkU0hHRFlwb3hKM1gvSS84MmtpS1JRcHlwcWJjUS9UY3IxV1VRM1RDQmk1CnFmYyt4ZWVyOS9ncnhUOExJazEvVFhXVEZBQzA2M3R3V1dPbVpXcGNPN3kyZlRuUklkSFRlaUs0T1pzSyt1Z2UKOTdGS3BTbWoxcmpFVDFmM0F3SURBUUFCCi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQ==") | |
5 | 5 | ||
6 | 6 | let b = addressFromStringValue("3N4vdqMsEsAZSJWfwYJcaCgUzASJTC2BWsP") | |
7 | 7 | ||
8 | 8 | let c = ((100 * 1000) * 1000) | |
9 | 9 | ||
10 | 10 | let d = 44 | |
11 | 11 | ||
12 | 12 | let e = ((5 * c) / 1000) | |
13 | 13 | ||
14 | 14 | let f = 14 | |
15 | 15 | ||
16 | 16 | let g = "INIT" | |
17 | 17 | ||
18 | 18 | let h = "READY" | |
19 | 19 | ||
20 | 20 | let i = "FINISHED" | |
21 | 21 | ||
22 | 22 | let j = 0 | |
23 | 23 | ||
24 | 24 | let k = 1 | |
25 | 25 | ||
26 | 26 | let l = 2 | |
27 | 27 | ||
28 | 28 | let m = 3 | |
29 | 29 | ||
30 | 30 | let n = 4 | |
31 | 31 | ||
32 | 32 | let o = 5 | |
33 | 33 | ||
34 | 34 | let p = 6 | |
35 | 35 | ||
36 | 36 | let q = 7 | |
37 | 37 | ||
38 | 38 | let r = 8 | |
39 | 39 | ||
40 | 40 | let s = 13 | |
41 | 41 | ||
42 | 42 | func t (u) = if ((0 > u)) | |
43 | 43 | then -(u) | |
44 | 44 | else u | |
45 | 45 | ||
46 | 46 | ||
47 | 47 | func v (w,x,y,z,A,B,C,D,E,F,G,H,I,J) = { | |
48 | 48 | let K = ((((((((((((((((((((((((w + "_") + x) + "_") + y) + "_") + z) + "_") + A) + "_") + B) + "_") + C) + "_") + D) + "_") + E) + "_") + F) + "_") + G) + "_") + H) + "_") + I) | |
49 | 49 | if ((J == "")) | |
50 | 50 | then ((K + "_") + "-") | |
51 | 51 | else ((K + "_") + J) | |
52 | 52 | } | |
53 | 53 | ||
54 | 54 | ||
55 | 55 | func L (M) = { | |
56 | 56 | let N = getStringValue(this, M) | |
57 | 57 | split(N, "_") | |
58 | 58 | } | |
59 | 59 | ||
60 | 60 | ||
61 | 61 | func O (P,Q,R,B,S) = { | |
62 | 62 | let T = ((t(toInt(S)) % P) + Q) | |
63 | 63 | let U = toString(T) | |
64 | 64 | let V = isDefined(indexOf(R, U)) | |
65 | 65 | if (if (!(V)) | |
66 | 66 | then (B > 0) | |
67 | 67 | else false) | |
68 | 68 | then [((R + "-") + U), "yes"] | |
69 | 69 | else [R, ""] | |
70 | 70 | } | |
71 | 71 | ||
72 | 72 | ||
73 | 73 | func W (M,X,Y,Z,R,B,aa,ab,ac,ad,ae) = { | |
74 | 74 | let af = if (((aa + 1) > 87)) | |
75 | 75 | then if ((ae > 241)) | |
76 | 76 | then [0, (ab + 1), (ac + 1), 0, 1] | |
77 | 77 | else [0, ab, ac, (ad + 1), (ae + 1)] | |
78 | 78 | else [(aa + 1), ab, ac, ad, ae] | |
79 | - | | |
79 | + | af | |
80 | 80 | } | |
81 | 81 | ||
82 | 82 | ||
83 | 83 | func ag (M,C,ah) = { | |
84 | 84 | let ai = split(ah.key, "_") | |
85 | 85 | if ((size(ai) != 2)) | |
86 | 86 | then throw("Invalid data key format. It must follow to ${sessionId}_${num}") | |
87 | 87 | else { | |
88 | 88 | let aj = ai[0] | |
89 | 89 | let ak = ai[1] | |
90 | 90 | if ((M != aj)) | |
91 | 91 | then throw(((("Several data keys have different sessionId: " + M) + " and ") + aj)) | |
92 | 92 | else if (isDefined(getString(this, ah.key))) | |
93 | 93 | then throw(("One of the data keys has already presented in account state: key=" + ah.key)) | |
94 | 94 | else if ((size(ak) > 4)) | |
95 | 95 | then throw("Invalid data key format. It must follow to ${sessionId}_${num} where ${num} length couldn't be greater than 4") | |
96 | 96 | else if ((take(ak, 1) == "0")) | |
97 | 97 | then throw("Invalid data key format. It must follow to ${sessionId}_${num} where ${num} couldn't start from 0") | |
98 | 98 | else { | |
99 | 99 | let al = parseInt(ak) | |
100 | 100 | if (isDefined(al)) | |
101 | 101 | then { | |
102 | 102 | let am = extract(al) | |
103 | 103 | if (if ((1 > am)) | |
104 | 104 | then true | |
105 | 105 | else (am > C)) | |
106 | 106 | then throw((((("Invalid data key format. It must follow to ${sessionId}_${num}" + " where ${num} must be a valid int value from 1 to ") + toString(C)) + " but actualNum=") + toString(am))) | |
107 | 107 | else { | |
108 | 108 | let an = ah.value | |
109 | 109 | if ($isInstanceOf(an, "String")) | |
110 | 110 | then { | |
111 | 111 | let ao = an | |
112 | 112 | true | |
113 | 113 | } | |
114 | 114 | else throw((M + " draw: only String type is accepted for data transactions")) | |
115 | 115 | } | |
116 | 116 | } | |
117 | 117 | else throw((("Invalid data key format. It must follow to ${sessionId}_${num}" + " where ${num} must be a valid int value from 1 to 31250 but actualNum=") + ak)) | |
118 | 118 | } | |
119 | 119 | } | |
120 | 120 | } | |
121 | 121 | ||
122 | 122 | ||
123 | 123 | func ap (A,aq,ar) = { | |
124 | 124 | let as = 1000 | |
125 | 125 | let at = ((13 * c) / 100) | |
126 | 126 | let au = 50 | |
127 | 127 | let av = ((8 * c) / 100) | |
128 | 128 | let aw = 5000 | |
129 | 129 | let ax = ((297 * c) / 100) | |
130 | 130 | let ay = 1000 | |
131 | 131 | let az = ((143 * c) / 100) | |
132 | 132 | let aA = 50000 | |
133 | 133 | let aB = ((1427 * c) / 100) | |
134 | 134 | let aC = 5000 | |
135 | 135 | let aD = ((705 * c) / 100) | |
136 | 136 | let aE = if ((as > A)) | |
137 | 137 | then (at + ((A / au) * av)) | |
138 | 138 | else if ((aw > A)) | |
139 | 139 | then (ax + (((A / ay) - 1) * az)) | |
140 | 140 | else if ((aA > A)) | |
141 | 141 | then (aB + (((A / aC) - 1) * aD)) | |
142 | 142 | else throw("Please contact our sales team to generate more than 50k rands") | |
143 | 143 | let aF = (aE + ar) | |
144 | 144 | if (isDefined(aq.assetId)) | |
145 | 145 | then throw("Only WAVES can be used as a payment for rands generation") | |
146 | 146 | else if ((aF > aq.amount)) | |
147 | 147 | then throw(((((("Attached payment is to small to generate " + toString(A)) + " unique randoms numbers and upload at least 1 data tx: actualPmt=") + toString(aq.amount)) + " but minPmt is ") + toString(aF))) | |
148 | 148 | else aE | |
149 | 149 | } | |
150 | 150 | ||
151 | 151 | ||
152 | 152 | @Callable(aG) | |
153 | 153 | func initDraw (y,z,A) = { | |
154 | 154 | let M = toBase58String(aG.transactionId) | |
155 | 155 | let aH = ((z - y) + 1) | |
156 | 156 | let aI = (aH / 2) | |
157 | 157 | let aJ = size(toString((z - 1))) | |
158 | 158 | let aK = size(toString(A)) | |
159 | 159 | let aL = (((2 * aJ) + (2 * aK)) + 4) | |
160 | 160 | let aM = (((5120 - 175) - aL) / (aJ + 1)) | |
161 | 161 | if (if ((0 >= y)) | |
162 | 162 | then true | |
163 | 163 | else (0 >= z)) | |
164 | 164 | then throw("randFrom and randTo must be greater than 0") | |
165 | 165 | else if ((y >= z)) | |
166 | 166 | then throw("randFrom must be strict less then randTo") | |
167 | 167 | else if ((A > aH)) | |
168 | 168 | then throw(((((((("Impossible to generate " + toString(A)) + " unique numbers for provided random range [") + toString(y)) + ", ") + toString(z)) + "] with actual size ") + toString(aH))) | |
169 | 169 | else if ((A > aI)) | |
170 | 170 | then throw(((((((((("randsCount must be less then 50% of passed range length: range=[" + toString(y)) + ", ") + toString(z)) + "], rangeLength=") + toString(aH)) + " randsCount=") + toString(A)) + " allowedRandsCount=") + toString(aI))) | |
171 | 171 | else if ((A > aM)) | |
172 | 172 | then throw(((((("randsCount couldn't be kept in 1 data entry: 1_randNumSpace=" + toString((aJ + 1))) + " maxAllowedRandsCount=") + toString(aM)) + " actualRandsCount=") + toString(A))) | |
173 | 173 | else if (!(isDefined(aG.payment))) | |
174 | 174 | then throw("Please provide payment to generate unique random numbers") | |
175 | 175 | else { | |
176 | 176 | let aq = extract(aG.payment) | |
177 | 177 | let ar = ((((c * 1) / 1000) * 33) + ((c * 4) / 1000)) | |
178 | 178 | let aN = ap(A, aq, ar) | |
179 | 179 | let aO = (aq.amount - aN) | |
180 | 180 | let aP = (aO / ar) | |
181 | 181 | let C = if ((31250 >= (aP * 5))) | |
182 | 182 | then (aP * 5) | |
183 | 183 | else 31250 | |
184 | 184 | let x = toBase58String(aG.callerPublicKey) | |
185 | 185 | let aQ = toString(A) | |
186 | 186 | let aR = v(h, x, toString(y), toString(z), aQ, aQ, toString(C), toBase58String(aG.transactionId), "0", "0", "1", "0", "1", "") | |
187 | 187 | ScriptResult(WriteSet([DataEntry(M, aR)]), TransferSet([ScriptTransfer(b, aN, unit)])) | |
188 | 188 | } | |
189 | 189 | } | |
190 | 190 | ||
191 | 191 | ||
192 | 192 | ||
193 | 193 | @Callable(aG) | |
194 | 194 | func random (M,Z) = { | |
195 | 195 | let aS = L(M) | |
196 | 196 | let w = aS[j] | |
197 | 197 | let x = aS[k] | |
198 | 198 | let aQ = aS[n] | |
199 | 199 | let aT = parseIntValue(aS[o]) | |
200 | 200 | let aa = parseIntValue(aS[r]) | |
201 | 201 | let R = aS[s] | |
202 | 202 | let aU = aS[l] | |
203 | 203 | let aV = aS[m] | |
204 | 204 | let D = aS[q] | |
205 | 205 | let F = parseIntValue(aS[9]) | |
206 | 206 | let G = parseIntValue(aS[10]) | |
207 | 207 | let H = parseIntValue(aS[11]) | |
208 | 208 | let I = parseIntValue(aS[12]) | |
209 | 209 | let X = parseIntValue(aU) | |
210 | 210 | let Y = parseIntValue(aV) | |
211 | 211 | let aW = fromBase58String(x) | |
212 | 212 | if ((w != h)) | |
213 | 213 | then throw((M + " draw: it must be in READY state to generate random numbers")) | |
214 | 214 | else if (false) | |
215 | 215 | then throw("Invalid RSA signature") | |
216 | 216 | else { | |
217 | 217 | let aX = W(M, X, Y, Z, R, aT, aa, F, G, H, I) | |
218 | - | WriteSet([DataEntry(" | |
218 | + | WriteSet([DataEntry("byteVect1", aX[1]), DataEntry("byteVect2", aX[2]), DataEntry("byteVect3", aX[3]), DataEntry("byteVect4", aX[4]), DataEntry((M + "test"), (toBytes(M) + toBytes(D))), DataEntry((M + "test-2"), "ds")]) | |
219 | 219 | } | |
220 | 220 | } | |
221 | 221 | ||
222 | 222 |
github/deemru/w8io/026f985 37.36 ms ◑