tx · BkodRcwHLXVmd1Ed2EUmmKMZWuzREupwYcbyKGDavvip 3N799uK7tQ84UNYLLY7z4Q6t3V3HYGstVoP: -0.01400000 Waves 2020.11.04 20:26 [1250878] smart account 3N799uK7tQ84UNYLLY7z4Q6t3V3HYGstVoP > SELF 0.00000000 Waves
{ "type": 13, "id": "BkodRcwHLXVmd1Ed2EUmmKMZWuzREupwYcbyKGDavvip", "fee": 1400000, "feeAssetId": null, "timestamp": 1604510813521, "version": 2, "chainId": 84, "sender": "3N799uK7tQ84UNYLLY7z4Q6t3V3HYGstVoP", "senderPublicKey": "G4TxNJFut3PZwMaW5j73z6uuWfmYTgS51PzhaDRZrt1N", "proofs": [ "5CAkJhwpCbGLgZQ7Kf5iM8ZWMVhbyvEcpPSwqt8n68cqNKsP34bdH3JTAFKdL2vGEU7JAZtyrmFbHdwC7WiKaKuP" ], "script": "base64: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", "height": 1250878, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GMJ3ZMxGHWLTcwwVcMu2JREbzw2WWDgsj7AHrmcZX9Pq Next: DwqwdZbfMq6Jv4xJA126n2ZJoKoda2Hjj28asF6S7Fhf Diff:
Old | New | Differences | |
---|---|---|---|
25 | 25 | ||
26 | 26 | let minSum = 1000 | |
27 | 27 | ||
28 | + | let countStatRecord = 30 | |
29 | + | ||
28 | 30 | func getStatistic () = match getString(this, "statistic") { | |
29 | 31 | case a: String => | |
30 | 32 | a | |
48 | 50 | then z[1] | |
49 | 51 | else "0" | |
50 | 52 | else "0" | |
53 | + | } | |
54 | + | ||
55 | + | ||
56 | + | func newRecordStat (key,data) = { | |
57 | + | let m = split(data, "|") | |
58 | + | let sum = m[0] | |
59 | + | let k = match getString(this, key) { | |
60 | + | case a: String => | |
61 | + | a | |
62 | + | case _ => | |
63 | + | makeString([sum, toString(height)], ":") | |
64 | + | } | |
65 | + | if ((k == "")) | |
66 | + | then makeString([sum, toString(height)], ":") | |
67 | + | else { | |
68 | + | let stream = split(k, "_") | |
69 | + | if ((size(m) == 1)) | |
70 | + | then if ((key != "statistic_c")) | |
71 | + | then if ((size(stream) == countStatRecord)) | |
72 | + | then makeString([drop(k, (size(stream[0]) + 1)), makeString([sum, toString(height)], ":")], "_") | |
73 | + | else makeString([k, makeString([sum, toString(height)], ":")], "_") | |
74 | + | else if ((size(stream) == countStatRecord)) | |
75 | + | then makeString([drop(k, (size(stream[0]) + 1)), makeString([makeString(["1", sum], "|"), toString(height)], ":")], "_") | |
76 | + | else makeString([k, makeString([makeString(["1", sum], "|"), toString(height)], ":")], "_") | |
77 | + | else if ((size(m) == 2)) | |
78 | + | then if ((size(stream) == countStatRecord)) | |
79 | + | then makeString([drop(k, ((size(stream[0]) + size(stream[1])) + 2)), makeString([makeString(["1", m[0]], "|"), toString(height)], ":"), makeString([makeString(["2", m[1]], "|"), toString(height)], ":")], "_") | |
80 | + | else if ((size(stream) == (countStatRecord - 1))) | |
81 | + | then makeString([drop(k, (size(stream[0]) + 1)), makeString([makeString(["1", m[0]], "|"), toString(height)], ":"), makeString([makeString(["2", m[1]], "|"), toString(height)], ":")], "_") | |
82 | + | else makeString([k, makeString([makeString(["1", m[0]], "|"), toString(height)], ":"), makeString([makeString(["2", m[1]], "|"), toString(height)], ":")], "_") | |
83 | + | else if ((size(stream) == countStatRecord)) | |
84 | + | then makeString([drop(k, (((size(stream[0]) + size(stream[1])) + size(stream[2])) + 3)), makeString([makeString(["1", m[0]], "|"), toString(height)], ":"), makeString([makeString(["2", m[1]], "|"), toString(height)], ":"), makeString([makeString(["3", m[2]], "|"), toString(height)], ":")], "_") | |
85 | + | else if ((size(stream) == (countStatRecord - 2))) | |
86 | + | then makeString([drop(k, ((size(stream[0]) + size(stream[1])) + 2)), makeString([makeString(["1", m[0]], "|"), toString(height)], ":"), makeString([makeString(["2", m[1]], "|"), toString(height)], ":"), makeString([makeString(["3", m[2]], "|"), toString(height)], ":")], "_") | |
87 | + | else if ((size(stream) == (countStatRecord - 1))) | |
88 | + | then makeString([drop(k, (size(stream[0]) + 1)), makeString([makeString(["1", m[0]], "|"), toString(height)], ":"), makeString([makeString(["2", m[1]], "|"), toString(height)], ":"), makeString([makeString(["3", m[2]], "|"), toString(height)], ":")], "_") | |
89 | + | else makeString([k, makeString([makeString(["1", m[0]], "|"), toString(height)], ":"), makeString([makeString(["2", m[1]], "|"), toString(height)], ":"), makeString([makeString(["3", m[2]], "|"), toString(height)], ":")], "_") | |
90 | + | } | |
91 | + | } | |
92 | + | ||
93 | + | ||
94 | + | func newRecord (key,type,sum) = { | |
95 | + | let k = match getString(this, key) { | |
96 | + | case a: String => | |
97 | + | a | |
98 | + | case _ => | |
99 | + | makeString([type, sum, toString(height)], ":") | |
100 | + | } | |
101 | + | if ((k == "")) | |
102 | + | then makeString([type, sum, toString(height)], ":") | |
103 | + | else { | |
104 | + | let stream = split(k, "_") | |
105 | + | if ((size(stream) == countStatRecord)) | |
106 | + | then makeString([drop(k, (size(stream[0]) + 1)), makeString([type, sum, toString(height)], ":")], "_") | |
107 | + | else makeString([k, makeString([type, sum, toString(height)], ":")], "_") | |
108 | + | } | |
51 | 109 | } | |
52 | 110 | ||
53 | 111 | ||
92 | 150 | let b1 = ((amount / 10000) * percentRefferal1) | |
93 | 151 | let b2 = ((amount / 10000) * percentRefferal2) | |
94 | 152 | let b3 = ((amount / 10000) * percentRefferal3) | |
153 | + | let addressStat = makeString([address, "i"], "_") | |
95 | 154 | let addressRefferal1 = u[10] | |
96 | 155 | if ((addressRefferal1 == "0")) | |
97 | - | then [StringEntry("statistic", makeString([s0, s1, s[2], s3, s4, s[5], s[6], s[7], s[8], s9, s[10], s[11], s[12], s[13], s[14]], "_")), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_"))] | |
156 | + | then [StringEntry("statistic", makeString([s0, s1, s[2], s3, s4, s[5], s[6], s[7], s[8], s9, s[10], s[11], s[12], s[13], s[14]], "_")), StringEntry("statistic_a", newRecordStat("statistic_a", u0)), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_")), StringEntry(addressStat, newRecord(addressStat, "a", u0))] | |
98 | 157 | else { | |
99 | 158 | let r1 = split(getItem(addressRefferal1, "0"), "_") | |
100 | 159 | let r1u11 = toString((parseIntValue(r1[11]) + b1)) | |
101 | 160 | let r1u13 = toString((parseIntValue(r1[13]) + b1)) | |
102 | 161 | let r1u19 = toString((parseIntValue(r1[19]) + 1)) | |
162 | + | let addressRefferal1Stat = makeString([addressRefferal1, "i"], "_") | |
103 | 163 | let addressRefferal2 = r1[10] | |
104 | 164 | if ((addressRefferal2 == "0")) | |
105 | - | then [StringEntry("statistic", makeString([s0, s1, toString((parseIntValue(s[2]) + b1)), s3, s4, s[5], s[6], s[7], s[8], s9, toString((parseIntValue(s[10]) + 1)), s[11], s[12], s[13], s[14]], "_")), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_")), StringEntry(addressRefferal1, makeString([r1[0], r1[1], r1[2], r1[3], r1[4], r1[5], r1[6], r1[7], r1[8], r1[9], r1[10], r1u11, r1[12], r1u13, r1[14], r1[15], r1[16], r1[17], r1[18], r1u19, r1[20], r1[21]], "_"))] | |
165 | + | then [StringEntry("statistic", makeString([s0, s1, toString((parseIntValue(s[2]) + b1)), s3, s4, s[5], s[6], s[7], s[8], s9, toString((parseIntValue(s[10]) + 1)), s[11], s[12], s[13], s[14]], "_")), StringEntry("statistic_a", newRecordStat("statistic_a", u0)), StringEntry("statistic_c", newRecordStat("statistic_c", toString(b1))), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_")), StringEntry(addressRefferal1, makeString([r1[0], r1[1], r1[2], r1[3], r1[4], r1[5], r1[6], r1[7], r1[8], r1[9], r1[10], r1u11, r1[12], r1u13, r1[14], r1[15], r1[16], r1[17], r1[18], r1u19, r1[20], r1[21]], "_")), StringEntry(addressStat, newRecord(addressStat, "a", u0)), StringEntry(addressRefferal1Stat, newRecord(addressRefferal1Stat, "b1", toString(b1)))] | |
106 | 166 | else { | |
107 | 167 | let r2 = split(getItem(addressRefferal2, "0"), "_") | |
108 | 168 | let r2u11 = toString((parseIntValue(r2[11]) + b2)) | |
109 | 169 | let r2u14 = toString((parseIntValue(r2[14]) + b2)) | |
110 | 170 | let r2u20 = toString((parseIntValue(r2[20]) + 1)) | |
171 | + | let addressRefferal2Stat = makeString([addressRefferal2, "i"], "_") | |
111 | 172 | let addressRefferal3 = r2[10] | |
112 | 173 | if ((addressRefferal3 == "0")) | |
113 | - | then [StringEntry("statistic", makeString([s0, s1, toString(((parseIntValue(s[2]) + b1) + b2)), s3, s4, s[5], s[6], s[7], s[8], s9, toString((parseIntValue(s[10]) + 2)), s[11], s[12], s[13], s[14]], "_")), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_")), StringEntry(addressRefferal1, makeString([r1[0], r1[1], r1[2], r1[3], r1[4], r1[5], r1[6], r1[7], r1[8], r1[9], r1[10], r1u11, r1[12], r1u13, r1[14], r1[15], r1[16], r1[17], r1[18], r1u19, r1[20], r1[21]], "_")), StringEntry(addressRefferal2, makeString([r2[0], r2[1], r2[2], r2[3], r2[4], r2[5], r2[6], r2[7], r2[8], r2[9], r2[10], r2u11, r2[12], r2[13], r2u14, r2[15], r2[16], r2[17], r2[18], r2[19], r2u20, r2[21]], "_"))] | |
174 | + | then [StringEntry("statistic", makeString([s0, s1, toString(((parseIntValue(s[2]) + b1) + b2)), s3, s4, s[5], s[6], s[7], s[8], s9, toString((parseIntValue(s[10]) + 2)), s[11], s[12], s[13], s[14]], "_")), StringEntry("statistic_a", newRecordStat("statistic_a", u0)), StringEntry("statistic_c", newRecordStat("statistic_c", makeString([toString(b1), toString(b2)], "+"))), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_")), StringEntry(addressRefferal1, makeString([r1[0], r1[1], r1[2], r1[3], r1[4], r1[5], r1[6], r1[7], r1[8], r1[9], r1[10], r1u11, r1[12], r1u13, r1[14], r1[15], r1[16], r1[17], r1[18], r1u19, r1[20], r1[21]], "_")), StringEntry(addressRefferal2, makeString([r2[0], r2[1], r2[2], r2[3], r2[4], r2[5], r2[6], r2[7], r2[8], r2[9], r2[10], r2u11, r2[12], r2[13], r2u14, r2[15], r2[16], r2[17], r2[18], r2[19], r2u20, r2[21]], "_")), StringEntry(addressStat, newRecord(addressStat, "a", u0)), StringEntry(addressRefferal1Stat, newRecord(addressRefferal1Stat, "b1", toString(b1))), StringEntry(addressRefferal2Stat, newRecord(addressRefferal2Stat, "b2", toString(b2)))] | |
114 | 175 | else { | |
115 | 176 | let r3 = split(getItem(addressRefferal3, "0"), "_") | |
116 | 177 | let r3u11 = toString((parseIntValue(r3[11]) + b3)) | |
117 | 178 | let r3u15 = toString((parseIntValue(r3[15]) + b3)) | |
118 | 179 | let r3u21 = toString((parseIntValue(r3[21]) + 1)) | |
119 | - | [StringEntry("statistic", makeString([s0, s1, toString((((parseIntValue(s[2]) + b1) + b2) + b3)), s3, s4, s[5], s[6], s[7], s[8], s9, toString((parseIntValue(s[10]) + 3)), s[11], s[12], s[13], s[14]], "_")), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_")), StringEntry(addressRefferal1, makeString([r1[0], r1[1], r1[2], r1[3], r1[4], r1[5], r1[6], r1[7], r1[8], r1[9], r1[10], r1u11, r1[12], r1u13, r1[14], r1[15], r1[16], r1[17], r1[18], r1u19, r1[20], r1[21]], "_")), StringEntry(addressRefferal2, makeString([r2[0], r2[1], r2[2], r2[3], r2[4], r2[5], r2[6], r2[7], r2[8], r2[9], r2[10], r2u11, r2[12], r2[13], r2u14, r2[15], r2[16], r2[17], r2[18], r2[19], r2u20, r2[21]], "_")), StringEntry(addressRefferal3, makeString([r3[0], r3[1], r3[2], r3[3], r3[4], r3[5], r3[6], r3[7], r3[8], r3[9], r3[10], r3u11, r3[12], r3[13], r3[14], r3u15, r3[16], r3[17], r3[18], r3[19], r3[20], r3u21], "_"))] | |
180 | + | let addressRefferal3Stat = makeString([addressRefferal3, "i"], "_") | |
181 | + | [StringEntry("statistic", makeString([s0, s1, toString((((parseIntValue(s[2]) + b1) + b2) + b3)), s3, s4, s[5], s[6], s[7], s[8], s9, toString((parseIntValue(s[10]) + 3)), s[11], s[12], s[13], s[14]], "_")), StringEntry("statistic_a", newRecordStat("statistic_a", u0)), StringEntry("statistic_c", newRecordStat("statistic_c", makeString([toString(b1), toString(b2), toString(b3)], "+"))), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_")), StringEntry(addressRefferal1, makeString([r1[0], r1[1], r1[2], r1[3], r1[4], r1[5], r1[6], r1[7], r1[8], r1[9], r1[10], r1u11, r1[12], r1u13, r1[14], r1[15], r1[16], r1[17], r1[18], r1u19, r1[20], r1[21]], "_")), StringEntry(addressRefferal2, makeString([r2[0], r2[1], r2[2], r2[3], r2[4], r2[5], r2[6], r2[7], r2[8], r2[9], r2[10], r2u11, r2[12], r2[13], r2u14, r2[15], r2[16], r2[17], r2[18], r2[19], r2u20, r2[21]], "_")), StringEntry(addressRefferal3, makeString([r3[0], r3[1], r3[2], r3[3], r3[4], r3[5], r3[6], r3[7], r3[8], r3[9], r3[10], r3u11, r3[12], r3[13], r3[14], r3u15, r3[16], r3[17], r3[18], r3[19], r3[20], r3u21], "_")), StringEntry(addressStat, newRecord(addressStat, "a", u0)), StringEntry(addressRefferal1Stat, newRecord(addressRefferal1Stat, "b1", toString(b1))), StringEntry(addressRefferal2Stat, newRecord(addressRefferal2Stat, "b2", toString(b2))), StringEntry(addressRefferal3Stat, newRecord(addressRefferal3Stat, "b3", toString(b3)))] | |
120 | 182 | } | |
121 | 183 | } | |
122 | 184 | } | |
141 | 203 | else ((((countBlockFrost - defrostBlock) + height) * u7) - u8) | |
142 | 204 | if ((0 >= sum)) | |
143 | 205 | then throw("No tokens available for withdrawal") | |
144 | - | else [StringEntry("statistic", makeString([s[0], s[1], s[2], s[3], s[4], s[5], toString((parseIntValue(s[6]) + sum)), s[7], s[8], s[9], s[10], toString((parseIntValue(s[11]) + 1)), s[12], s[13], s[14]], "_")), StringEntry(address, makeString([u[0], u[1], u[2], u[3], u[4], toString((parseIntValue(u[5]) + sum)), u[6], u[7], toString((parseIntValue(u[8]) + sum)), toString((parseIntValue(u[9]) - sum)), u[10], u[11], u[12], u[13], u[14], u[15], u[16], toString((parseIntValue(u[17]) + 1)), u[18], u[19], u[20], u[21]], "_")), ScriptTransfer(i.caller, sum, token)] | |
206 | + | else { | |
207 | + | let addressStat = makeString([address, "i"], "_") | |
208 | + | [StringEntry("statistic", makeString([s[0], s[1], s[2], s[3], s[4], s[5], toString((parseIntValue(s[6]) + sum)), s[7], s[8], s[9], s[10], toString((parseIntValue(s[11]) + 1)), s[12], s[13], s[14]], "_")), StringEntry("statistic_w", newRecordStat("statistic_w", toString(sum))), StringEntry(address, makeString([u[0], u[1], u[2], u[3], u[4], toString((parseIntValue(u[5]) + sum)), u[6], u[7], toString((parseIntValue(u[8]) + sum)), toString((parseIntValue(u[9]) - sum)), u[10], u[11], u[12], u[13], u[14], u[15], u[16], toString((parseIntValue(u[17]) + 1)), u[18], u[19], u[20], u[21]], "_")), StringEntry(addressStat, newRecord(addressStat, "w", toString(sum))), ScriptTransfer(i.caller, sum, token)] | |
209 | + | } | |
145 | 210 | } | |
146 | 211 | ||
147 | 212 | ||
154 | 219 | let sum = parseIntValue(u[11]) | |
155 | 220 | if ((0 >= sum)) | |
156 | 221 | then throw("No bonus available for withdrawal") | |
157 | - | else [StringEntry("statistic", makeString([s[0], s[1], s[2], s[3], s[4], s[5], s[6], toString((parseIntValue(s[7]) + sum)), s[8], s[9], s[10], s[11], toString((parseIntValue(s[12]) + 1)), s[13], s[14]], "_")), StringEntry(address, makeString([u[0], u[1], u[2], u[3], u[4], u[5], u[6], u[7], u[8], u[9], u[10], toString(0), toString((parseIntValue(u[12]) + sum)), u[13], u[14], u[15], u[16], u[17], toString((parseIntValue(u[18]) + 1)), u[19], u[20], u[21]], "_")), ScriptTransfer(i.caller, sum, token)] | |
222 | + | else { | |
223 | + | let addressStat = makeString([address, "i"], "_") | |
224 | + | [StringEntry("statistic", makeString([s[0], s[1], s[2], s[3], s[4], s[5], s[6], toString((parseIntValue(s[7]) + sum)), s[8], s[9], s[10], s[11], toString((parseIntValue(s[12]) + 1)), s[13], s[14]], "_")), StringEntry(address, makeString([u[0], u[1], u[2], u[3], u[4], u[5], u[6], u[7], u[8], u[9], u[10], toString(0), toString((parseIntValue(u[12]) + sum)), u[13], u[14], u[15], u[16], u[17], toString((parseIntValue(u[18]) + 1)), u[19], u[20], u[21]], "_")), StringEntry(addressStat, newRecord(addressStat, "c", toString(sum))), ScriptTransfer(i.caller, sum, token)] | |
225 | + | } | |
158 | 226 | } | |
159 | 227 | ||
160 | 228 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let token = base58'5zNG3WFGEh3tA38hAZSvD9fMTsR7hwPU7XR4qZqGjs46' | |
5 | 5 | ||
6 | 6 | let owner = base58'G4TxNJFut3PZwMaW5j73z6uuWfmYTgS51PzhaDRZrt1N' | |
7 | 7 | ||
8 | 8 | let gameAddress = "3N2hHaqEEXjFHE5G8NTw6v7KNMwcHob2Ena" | |
9 | 9 | ||
10 | 10 | let advertisingAddress = "3N2hHaqEEXjFHE5G8NTw6v7KNMwcHob2Ena" | |
11 | 11 | ||
12 | 12 | let countBlockFrost = 10 | |
13 | 13 | ||
14 | 14 | let percent = 2000 | |
15 | 15 | ||
16 | 16 | let percentRefferal1 = 300 | |
17 | 17 | ||
18 | 18 | let percentRefferal2 = 200 | |
19 | 19 | ||
20 | 20 | let percentRefferal3 = 100 | |
21 | 21 | ||
22 | 22 | let percentAdvertising = 84 | |
23 | 23 | ||
24 | 24 | let countBlockAdvertisingFrost = 43200 | |
25 | 25 | ||
26 | 26 | let minSum = 1000 | |
27 | 27 | ||
28 | + | let countStatRecord = 30 | |
29 | + | ||
28 | 30 | func getStatistic () = match getString(this, "statistic") { | |
29 | 31 | case a: String => | |
30 | 32 | a | |
31 | 33 | case _ => | |
32 | 34 | ("0_0_0_0_0_0_0_0_0_0_0_0_0_0_" + toString(height)) | |
33 | 35 | } | |
34 | 36 | ||
35 | 37 | ||
36 | 38 | func getItem (address,refferal) = match getString(this, address) { | |
37 | 39 | case a: String => | |
38 | 40 | a | |
39 | 41 | case _ => | |
40 | 42 | makeString(["0_0_0_0_0_0_0_0_0_0", refferal, "0_0_0_0_0_0_0_0_0_0_0"], "_") | |
41 | 43 | } | |
42 | 44 | ||
43 | 45 | ||
44 | 46 | func getReferral (refferal) = { | |
45 | 47 | let z = split(refferal, "referrer: ") | |
46 | 48 | if (isDefined(z[1])) | |
47 | 49 | then if (isDefined(addressFromString(z[1]))) | |
48 | 50 | then z[1] | |
49 | 51 | else "0" | |
50 | 52 | else "0" | |
53 | + | } | |
54 | + | ||
55 | + | ||
56 | + | func newRecordStat (key,data) = { | |
57 | + | let m = split(data, "|") | |
58 | + | let sum = m[0] | |
59 | + | let k = match getString(this, key) { | |
60 | + | case a: String => | |
61 | + | a | |
62 | + | case _ => | |
63 | + | makeString([sum, toString(height)], ":") | |
64 | + | } | |
65 | + | if ((k == "")) | |
66 | + | then makeString([sum, toString(height)], ":") | |
67 | + | else { | |
68 | + | let stream = split(k, "_") | |
69 | + | if ((size(m) == 1)) | |
70 | + | then if ((key != "statistic_c")) | |
71 | + | then if ((size(stream) == countStatRecord)) | |
72 | + | then makeString([drop(k, (size(stream[0]) + 1)), makeString([sum, toString(height)], ":")], "_") | |
73 | + | else makeString([k, makeString([sum, toString(height)], ":")], "_") | |
74 | + | else if ((size(stream) == countStatRecord)) | |
75 | + | then makeString([drop(k, (size(stream[0]) + 1)), makeString([makeString(["1", sum], "|"), toString(height)], ":")], "_") | |
76 | + | else makeString([k, makeString([makeString(["1", sum], "|"), toString(height)], ":")], "_") | |
77 | + | else if ((size(m) == 2)) | |
78 | + | then if ((size(stream) == countStatRecord)) | |
79 | + | then makeString([drop(k, ((size(stream[0]) + size(stream[1])) + 2)), makeString([makeString(["1", m[0]], "|"), toString(height)], ":"), makeString([makeString(["2", m[1]], "|"), toString(height)], ":")], "_") | |
80 | + | else if ((size(stream) == (countStatRecord - 1))) | |
81 | + | then makeString([drop(k, (size(stream[0]) + 1)), makeString([makeString(["1", m[0]], "|"), toString(height)], ":"), makeString([makeString(["2", m[1]], "|"), toString(height)], ":")], "_") | |
82 | + | else makeString([k, makeString([makeString(["1", m[0]], "|"), toString(height)], ":"), makeString([makeString(["2", m[1]], "|"), toString(height)], ":")], "_") | |
83 | + | else if ((size(stream) == countStatRecord)) | |
84 | + | then makeString([drop(k, (((size(stream[0]) + size(stream[1])) + size(stream[2])) + 3)), makeString([makeString(["1", m[0]], "|"), toString(height)], ":"), makeString([makeString(["2", m[1]], "|"), toString(height)], ":"), makeString([makeString(["3", m[2]], "|"), toString(height)], ":")], "_") | |
85 | + | else if ((size(stream) == (countStatRecord - 2))) | |
86 | + | then makeString([drop(k, ((size(stream[0]) + size(stream[1])) + 2)), makeString([makeString(["1", m[0]], "|"), toString(height)], ":"), makeString([makeString(["2", m[1]], "|"), toString(height)], ":"), makeString([makeString(["3", m[2]], "|"), toString(height)], ":")], "_") | |
87 | + | else if ((size(stream) == (countStatRecord - 1))) | |
88 | + | then makeString([drop(k, (size(stream[0]) + 1)), makeString([makeString(["1", m[0]], "|"), toString(height)], ":"), makeString([makeString(["2", m[1]], "|"), toString(height)], ":"), makeString([makeString(["3", m[2]], "|"), toString(height)], ":")], "_") | |
89 | + | else makeString([k, makeString([makeString(["1", m[0]], "|"), toString(height)], ":"), makeString([makeString(["2", m[1]], "|"), toString(height)], ":"), makeString([makeString(["3", m[2]], "|"), toString(height)], ":")], "_") | |
90 | + | } | |
91 | + | } | |
92 | + | ||
93 | + | ||
94 | + | func newRecord (key,type,sum) = { | |
95 | + | let k = match getString(this, key) { | |
96 | + | case a: String => | |
97 | + | a | |
98 | + | case _ => | |
99 | + | makeString([type, sum, toString(height)], ":") | |
100 | + | } | |
101 | + | if ((k == "")) | |
102 | + | then makeString([type, sum, toString(height)], ":") | |
103 | + | else { | |
104 | + | let stream = split(k, "_") | |
105 | + | if ((size(stream) == countStatRecord)) | |
106 | + | then makeString([drop(k, (size(stream[0]) + 1)), makeString([type, sum, toString(height)], ":")], "_") | |
107 | + | else makeString([k, makeString([type, sum, toString(height)], ":")], "_") | |
108 | + | } | |
51 | 109 | } | |
52 | 110 | ||
53 | 111 | ||
54 | 112 | @Callable(i) | |
55 | 113 | func deposit (refferal) = { | |
56 | 114 | let t = value(i.payments[0]) | |
57 | 115 | let k = match t.assetId { | |
58 | 116 | case id: ByteVector => | |
59 | 117 | toBase58String(id) | |
60 | 118 | case _ => | |
61 | 119 | "" | |
62 | 120 | } | |
63 | 121 | let amount = t.amount | |
64 | 122 | if ((t.assetId != token)) | |
65 | 123 | then throw("Only III token") | |
66 | 124 | else if ((minSum > amount)) | |
67 | 125 | then throw((("Min sum " + toString(minSum)) + " III token")) | |
68 | 126 | else { | |
69 | 127 | let address = toBase58String(i.caller.bytes) | |
70 | 128 | let s = split(getStatistic(), "_") | |
71 | 129 | if ((address == gameAddress)) | |
72 | 130 | then [StringEntry("statistic", makeString([s[0], s[1], s[2], s[3], s[4], toString((parseIntValue(s[5]) + amount)), s[6], s[7], s[8], s[9], s[10], s[11], s[12], s[13], s[14]], "_"))] | |
73 | 131 | else { | |
74 | 132 | let u = split(getItem(address, getReferral(refferal)), "_") | |
75 | 133 | let y = ((amount / 10000) * percent) | |
76 | 134 | let n = ((amount / 10000) * percentAdvertising) | |
77 | 135 | let s0 = toString((parseIntValue(s[0]) + amount)) | |
78 | 136 | let s1 = toString((parseIntValue(s[1]) + y)) | |
79 | 137 | let s3 = toString((parseIntValue(s[3]) + n)) | |
80 | 138 | let s4 = toString((parseIntValue(s[4]) + n)) | |
81 | 139 | let s9 = toString((parseIntValue(s[9]) + 1)) | |
82 | 140 | let u0 = toString(amount) | |
83 | 141 | let u1 = toString((amount + y)) | |
84 | 142 | let u2 = toString((parseIntValue(u[2]) + amount)) | |
85 | 143 | let u3 = toString(((parseIntValue(u[3]) + amount) + y)) | |
86 | 144 | let u4 = ((parseIntValue(u[9]) + amount) + y) | |
87 | 145 | let u6 = toString(height) | |
88 | 146 | let u7 = toString((u4 / countBlockFrost)) | |
89 | 147 | let u8 = toString(0) | |
90 | 148 | let u9 = toString(u4) | |
91 | 149 | let u16 = toString((parseIntValue(u[16]) + 1)) | |
92 | 150 | let b1 = ((amount / 10000) * percentRefferal1) | |
93 | 151 | let b2 = ((amount / 10000) * percentRefferal2) | |
94 | 152 | let b3 = ((amount / 10000) * percentRefferal3) | |
153 | + | let addressStat = makeString([address, "i"], "_") | |
95 | 154 | let addressRefferal1 = u[10] | |
96 | 155 | if ((addressRefferal1 == "0")) | |
97 | - | then [StringEntry("statistic", makeString([s0, s1, s[2], s3, s4, s[5], s[6], s[7], s[8], s9, s[10], s[11], s[12], s[13], s[14]], "_")), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_"))] | |
156 | + | then [StringEntry("statistic", makeString([s0, s1, s[2], s3, s4, s[5], s[6], s[7], s[8], s9, s[10], s[11], s[12], s[13], s[14]], "_")), StringEntry("statistic_a", newRecordStat("statistic_a", u0)), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_")), StringEntry(addressStat, newRecord(addressStat, "a", u0))] | |
98 | 157 | else { | |
99 | 158 | let r1 = split(getItem(addressRefferal1, "0"), "_") | |
100 | 159 | let r1u11 = toString((parseIntValue(r1[11]) + b1)) | |
101 | 160 | let r1u13 = toString((parseIntValue(r1[13]) + b1)) | |
102 | 161 | let r1u19 = toString((parseIntValue(r1[19]) + 1)) | |
162 | + | let addressRefferal1Stat = makeString([addressRefferal1, "i"], "_") | |
103 | 163 | let addressRefferal2 = r1[10] | |
104 | 164 | if ((addressRefferal2 == "0")) | |
105 | - | then [StringEntry("statistic", makeString([s0, s1, toString((parseIntValue(s[2]) + b1)), s3, s4, s[5], s[6], s[7], s[8], s9, toString((parseIntValue(s[10]) + 1)), s[11], s[12], s[13], s[14]], "_")), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_")), StringEntry(addressRefferal1, makeString([r1[0], r1[1], r1[2], r1[3], r1[4], r1[5], r1[6], r1[7], r1[8], r1[9], r1[10], r1u11, r1[12], r1u13, r1[14], r1[15], r1[16], r1[17], r1[18], r1u19, r1[20], r1[21]], "_"))] | |
165 | + | then [StringEntry("statistic", makeString([s0, s1, toString((parseIntValue(s[2]) + b1)), s3, s4, s[5], s[6], s[7], s[8], s9, toString((parseIntValue(s[10]) + 1)), s[11], s[12], s[13], s[14]], "_")), StringEntry("statistic_a", newRecordStat("statistic_a", u0)), StringEntry("statistic_c", newRecordStat("statistic_c", toString(b1))), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_")), StringEntry(addressRefferal1, makeString([r1[0], r1[1], r1[2], r1[3], r1[4], r1[5], r1[6], r1[7], r1[8], r1[9], r1[10], r1u11, r1[12], r1u13, r1[14], r1[15], r1[16], r1[17], r1[18], r1u19, r1[20], r1[21]], "_")), StringEntry(addressStat, newRecord(addressStat, "a", u0)), StringEntry(addressRefferal1Stat, newRecord(addressRefferal1Stat, "b1", toString(b1)))] | |
106 | 166 | else { | |
107 | 167 | let r2 = split(getItem(addressRefferal2, "0"), "_") | |
108 | 168 | let r2u11 = toString((parseIntValue(r2[11]) + b2)) | |
109 | 169 | let r2u14 = toString((parseIntValue(r2[14]) + b2)) | |
110 | 170 | let r2u20 = toString((parseIntValue(r2[20]) + 1)) | |
171 | + | let addressRefferal2Stat = makeString([addressRefferal2, "i"], "_") | |
111 | 172 | let addressRefferal3 = r2[10] | |
112 | 173 | if ((addressRefferal3 == "0")) | |
113 | - | then [StringEntry("statistic", makeString([s0, s1, toString(((parseIntValue(s[2]) + b1) + b2)), s3, s4, s[5], s[6], s[7], s[8], s9, toString((parseIntValue(s[10]) + 2)), s[11], s[12], s[13], s[14]], "_")), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_")), StringEntry(addressRefferal1, makeString([r1[0], r1[1], r1[2], r1[3], r1[4], r1[5], r1[6], r1[7], r1[8], r1[9], r1[10], r1u11, r1[12], r1u13, r1[14], r1[15], r1[16], r1[17], r1[18], r1u19, r1[20], r1[21]], "_")), StringEntry(addressRefferal2, makeString([r2[0], r2[1], r2[2], r2[3], r2[4], r2[5], r2[6], r2[7], r2[8], r2[9], r2[10], r2u11, r2[12], r2[13], r2u14, r2[15], r2[16], r2[17], r2[18], r2[19], r2u20, r2[21]], "_"))] | |
174 | + | then [StringEntry("statistic", makeString([s0, s1, toString(((parseIntValue(s[2]) + b1) + b2)), s3, s4, s[5], s[6], s[7], s[8], s9, toString((parseIntValue(s[10]) + 2)), s[11], s[12], s[13], s[14]], "_")), StringEntry("statistic_a", newRecordStat("statistic_a", u0)), StringEntry("statistic_c", newRecordStat("statistic_c", makeString([toString(b1), toString(b2)], "+"))), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_")), StringEntry(addressRefferal1, makeString([r1[0], r1[1], r1[2], r1[3], r1[4], r1[5], r1[6], r1[7], r1[8], r1[9], r1[10], r1u11, r1[12], r1u13, r1[14], r1[15], r1[16], r1[17], r1[18], r1u19, r1[20], r1[21]], "_")), StringEntry(addressRefferal2, makeString([r2[0], r2[1], r2[2], r2[3], r2[4], r2[5], r2[6], r2[7], r2[8], r2[9], r2[10], r2u11, r2[12], r2[13], r2u14, r2[15], r2[16], r2[17], r2[18], r2[19], r2u20, r2[21]], "_")), StringEntry(addressStat, newRecord(addressStat, "a", u0)), StringEntry(addressRefferal1Stat, newRecord(addressRefferal1Stat, "b1", toString(b1))), StringEntry(addressRefferal2Stat, newRecord(addressRefferal2Stat, "b2", toString(b2)))] | |
114 | 175 | else { | |
115 | 176 | let r3 = split(getItem(addressRefferal3, "0"), "_") | |
116 | 177 | let r3u11 = toString((parseIntValue(r3[11]) + b3)) | |
117 | 178 | let r3u15 = toString((parseIntValue(r3[15]) + b3)) | |
118 | 179 | let r3u21 = toString((parseIntValue(r3[21]) + 1)) | |
119 | - | [StringEntry("statistic", makeString([s0, s1, toString((((parseIntValue(s[2]) + b1) + b2) + b3)), s3, s4, s[5], s[6], s[7], s[8], s9, toString((parseIntValue(s[10]) + 3)), s[11], s[12], s[13], s[14]], "_")), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_")), StringEntry(addressRefferal1, makeString([r1[0], r1[1], r1[2], r1[3], r1[4], r1[5], r1[6], r1[7], r1[8], r1[9], r1[10], r1u11, r1[12], r1u13, r1[14], r1[15], r1[16], r1[17], r1[18], r1u19, r1[20], r1[21]], "_")), StringEntry(addressRefferal2, makeString([r2[0], r2[1], r2[2], r2[3], r2[4], r2[5], r2[6], r2[7], r2[8], r2[9], r2[10], r2u11, r2[12], r2[13], r2u14, r2[15], r2[16], r2[17], r2[18], r2[19], r2u20, r2[21]], "_")), StringEntry(addressRefferal3, makeString([r3[0], r3[1], r3[2], r3[3], r3[4], r3[5], r3[6], r3[7], r3[8], r3[9], r3[10], r3u11, r3[12], r3[13], r3[14], r3u15, r3[16], r3[17], r3[18], r3[19], r3[20], r3u21], "_"))] | |
180 | + | let addressRefferal3Stat = makeString([addressRefferal3, "i"], "_") | |
181 | + | [StringEntry("statistic", makeString([s0, s1, toString((((parseIntValue(s[2]) + b1) + b2) + b3)), s3, s4, s[5], s[6], s[7], s[8], s9, toString((parseIntValue(s[10]) + 3)), s[11], s[12], s[13], s[14]], "_")), StringEntry("statistic_a", newRecordStat("statistic_a", u0)), StringEntry("statistic_c", newRecordStat("statistic_c", makeString([toString(b1), toString(b2), toString(b3)], "+"))), StringEntry(address, makeString([u0, u1, u2, u3, u9, u[5], u6, u7, u8, u9, u[10], u[11], u[12], u[13], u[14], u[15], u16, u[17], u[18], u[19], u[20], u[21]], "_")), StringEntry(addressRefferal1, makeString([r1[0], r1[1], r1[2], r1[3], r1[4], r1[5], r1[6], r1[7], r1[8], r1[9], r1[10], r1u11, r1[12], r1u13, r1[14], r1[15], r1[16], r1[17], r1[18], r1u19, r1[20], r1[21]], "_")), StringEntry(addressRefferal2, makeString([r2[0], r2[1], r2[2], r2[3], r2[4], r2[5], r2[6], r2[7], r2[8], r2[9], r2[10], r2u11, r2[12], r2[13], r2u14, r2[15], r2[16], r2[17], r2[18], r2[19], r2u20, r2[21]], "_")), StringEntry(addressRefferal3, makeString([r3[0], r3[1], r3[2], r3[3], r3[4], r3[5], r3[6], r3[7], r3[8], r3[9], r3[10], r3u11, r3[12], r3[13], r3[14], r3u15, r3[16], r3[17], r3[18], r3[19], r3[20], r3u21], "_")), StringEntry(addressStat, newRecord(addressStat, "a", u0)), StringEntry(addressRefferal1Stat, newRecord(addressRefferal1Stat, "b1", toString(b1))), StringEntry(addressRefferal2Stat, newRecord(addressRefferal2Stat, "b2", toString(b2))), StringEntry(addressRefferal3Stat, newRecord(addressRefferal3Stat, "b3", toString(b3)))] | |
120 | 182 | } | |
121 | 183 | } | |
122 | 184 | } | |
123 | 185 | } | |
124 | 186 | } | |
125 | 187 | } | |
126 | 188 | ||
127 | 189 | ||
128 | 190 | ||
129 | 191 | @Callable(i) | |
130 | 192 | func withdraw (c) = { | |
131 | 193 | let address = toBase58String(i.caller.bytes) | |
132 | 194 | let u = split(getItem(address, "0"), "_") | |
133 | 195 | let s = split(getStatistic(), "_") | |
134 | 196 | let u6 = parseIntValue(u[6]) | |
135 | 197 | let u7 = parseIntValue(u[7]) | |
136 | 198 | let u8 = parseIntValue(u[8]) | |
137 | 199 | let u9 = parseIntValue(u[9]) | |
138 | 200 | let defrostBlock = (u6 + countBlockFrost) | |
139 | 201 | let sum = if ((height >= defrostBlock)) | |
140 | 202 | then u9 | |
141 | 203 | else ((((countBlockFrost - defrostBlock) + height) * u7) - u8) | |
142 | 204 | if ((0 >= sum)) | |
143 | 205 | then throw("No tokens available for withdrawal") | |
144 | - | else [StringEntry("statistic", makeString([s[0], s[1], s[2], s[3], s[4], s[5], toString((parseIntValue(s[6]) + sum)), s[7], s[8], s[9], s[10], toString((parseIntValue(s[11]) + 1)), s[12], s[13], s[14]], "_")), StringEntry(address, makeString([u[0], u[1], u[2], u[3], u[4], toString((parseIntValue(u[5]) + sum)), u[6], u[7], toString((parseIntValue(u[8]) + sum)), toString((parseIntValue(u[9]) - sum)), u[10], u[11], u[12], u[13], u[14], u[15], u[16], toString((parseIntValue(u[17]) + 1)), u[18], u[19], u[20], u[21]], "_")), ScriptTransfer(i.caller, sum, token)] | |
206 | + | else { | |
207 | + | let addressStat = makeString([address, "i"], "_") | |
208 | + | [StringEntry("statistic", makeString([s[0], s[1], s[2], s[3], s[4], s[5], toString((parseIntValue(s[6]) + sum)), s[7], s[8], s[9], s[10], toString((parseIntValue(s[11]) + 1)), s[12], s[13], s[14]], "_")), StringEntry("statistic_w", newRecordStat("statistic_w", toString(sum))), StringEntry(address, makeString([u[0], u[1], u[2], u[3], u[4], toString((parseIntValue(u[5]) + sum)), u[6], u[7], toString((parseIntValue(u[8]) + sum)), toString((parseIntValue(u[9]) - sum)), u[10], u[11], u[12], u[13], u[14], u[15], u[16], toString((parseIntValue(u[17]) + 1)), u[18], u[19], u[20], u[21]], "_")), StringEntry(addressStat, newRecord(addressStat, "w", toString(sum))), ScriptTransfer(i.caller, sum, token)] | |
209 | + | } | |
145 | 210 | } | |
146 | 211 | ||
147 | 212 | ||
148 | 213 | ||
149 | 214 | @Callable(i) | |
150 | 215 | func bonus (c) = { | |
151 | 216 | let address = toBase58String(i.caller.bytes) | |
152 | 217 | let u = split(getItem(address, "0"), "_") | |
153 | 218 | let s = split(getStatistic(), "_") | |
154 | 219 | let sum = parseIntValue(u[11]) | |
155 | 220 | if ((0 >= sum)) | |
156 | 221 | then throw("No bonus available for withdrawal") | |
157 | - | else [StringEntry("statistic", makeString([s[0], s[1], s[2], s[3], s[4], s[5], s[6], toString((parseIntValue(s[7]) + sum)), s[8], s[9], s[10], s[11], toString((parseIntValue(s[12]) + 1)), s[13], s[14]], "_")), StringEntry(address, makeString([u[0], u[1], u[2], u[3], u[4], u[5], u[6], u[7], u[8], u[9], u[10], toString(0), toString((parseIntValue(u[12]) + sum)), u[13], u[14], u[15], u[16], u[17], toString((parseIntValue(u[18]) + 1)), u[19], u[20], u[21]], "_")), ScriptTransfer(i.caller, sum, token)] | |
222 | + | else { | |
223 | + | let addressStat = makeString([address, "i"], "_") | |
224 | + | [StringEntry("statistic", makeString([s[0], s[1], s[2], s[3], s[4], s[5], s[6], toString((parseIntValue(s[7]) + sum)), s[8], s[9], s[10], s[11], toString((parseIntValue(s[12]) + 1)), s[13], s[14]], "_")), StringEntry(address, makeString([u[0], u[1], u[2], u[3], u[4], u[5], u[6], u[7], u[8], u[9], u[10], toString(0), toString((parseIntValue(u[12]) + sum)), u[13], u[14], u[15], u[16], u[17], toString((parseIntValue(u[18]) + 1)), u[19], u[20], u[21]], "_")), StringEntry(addressStat, newRecord(addressStat, "c", toString(sum))), ScriptTransfer(i.caller, sum, token)] | |
225 | + | } | |
158 | 226 | } | |
159 | 227 | ||
160 | 228 | ||
161 | 229 | ||
162 | 230 | @Callable(i) | |
163 | 231 | func advertising (c) = { | |
164 | 232 | let s = split(getStatistic(), "_") | |
165 | 233 | let sum = parseIntValue(s[4]) | |
166 | 234 | if ((0 >= sum)) | |
167 | 235 | then throw("The marketing balance is empty") | |
168 | 236 | else if (((countBlockAdvertisingFrost + parseIntValue(s[14])) > height)) | |
169 | 237 | then throw("The time has not come yet") | |
170 | 238 | else [StringEntry("statistic", makeString([s[0], s[1], s[2], s[3], toString(0), s[5], s[6], s[7], toString((parseIntValue(s[8]) + sum)), s[9], s[10], s[11], s[12], toString((parseIntValue(s[13]) + 1)), toString(height)], "_")), ScriptTransfer(addressFromStringValue(advertisingAddress), sum, token)] | |
171 | 239 | } | |
172 | 240 | ||
173 | 241 | ||
174 | 242 | @Verifier(tx) | |
175 | 243 | func verify () = match tx { | |
176 | 244 | case d: SetScriptTransaction => | |
177 | 245 | sigVerify(tx.bodyBytes, tx.proofs[0], owner) | |
178 | 246 | case _ => | |
179 | 247 | true | |
180 | 248 | } | |
181 | 249 |
github/deemru/w8io/c3f4982 94.71 ms ◑