tx · FKp3RWkVV7wPbGLbGPxUsmhstJDPn993LPkR5PpqWMTB

3N377MSFzFdwxW97ENpfqfZLYSnGzSMWvNN:  -0.01000000 Waves

2021.12.08 08:14 [1824848] smart account 3N377MSFzFdwxW97ENpfqfZLYSnGzSMWvNN > SELF 0.00000000 Waves

{ "type": 13, "id": "FKp3RWkVV7wPbGLbGPxUsmhstJDPn993LPkR5PpqWMTB", "fee": 1000000, "feeAssetId": null, "timestamp": 1638940548508, "version": 2, "chainId": 84, "sender": "3N377MSFzFdwxW97ENpfqfZLYSnGzSMWvNN", "senderPublicKey": "3TJhvM5a7VSAiRyvEVwygRkiPC9ow5nM4LQ252H4vxWK", "proofs": [ "BR2TVZfju7LdkNwbrcmphVewjegtHycjDZ6Zy53nDRpAvWBti8ht9jy99zjESXkqTsVggFRwjYNK86MRBFyusvV" ], "script": "base64:BQQAAAAHJG1hdGNoMAUAAAACdHgH0WIWDQ==", "height": 1824848, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6L6feq5ASv1THtL6fGvXSoshuPT8QjjpyrGHKfvQdu6i Next: none Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
2-{-# SCRIPT_TYPE ACCOUNT #-}
3-{-# CONTENT_TYPE DAPP #-}
4-let masteradr = "3MuW4t1jCXHt8WRsHVLUar32EnvJxZaQWAx"
5-
6-let master = Address(base58'3MuW4t1jCXHt8WRsHVLUar32EnvJxZaQWAx')
7-
8-let separ = "|||||"
9-
10-let incrprice = 50
11-
12-let initprice = "100000"
13-
14-let masterfee = 1
15-
16-@Callable(i)
17-func paint (idata) = {
18- let callerAdress = toBase58String(i.caller.bytes)
19- let reqdata = split(idata, "-|-")
20- let color = if ((size(reqdata) > 1))
21- then reqdata[1]
22- else "0"
23- let url = if ((size(reqdata) > 2))
24- then reqdata[2]
25- else "-"
26- let pixxy = split(reqdata[0], separ)
27- let number = min([30, size(pixxy)])
28- let emptycommand = ["--", "--", masteradr, "0"]
29- let newrecord = [callerAdress, initprice, color, url]
30- func validxy (x) = match parseInt(pixxy[x]) {
31- case a: Int =>
32- if (if ((parseIntValue(pixxy[x]) > -1))
33- then (1000 > parseIntValue(pixxy[x]))
34- else false)
35- then parseIntValue(pixxy[x])
36- else -1
37- case _ =>
38- -1
39- }
40-
41- func getrecord (x) = match getString(pixxy[x]) {
42- case a: String =>
43- getStringValue(pixxy[x])
44- case _ =>
45- ""
46- }
47-
48- func command (x) = if (if ((x > (number - 1)))
49- then true
50- else (0 > validxy(x)))
51- then emptycommand
52- else if ((getrecord(x) == ""))
53- then [pixxy[x], makeString(newrecord, separ), masteradr, initprice]
54- else {
55- let oldrecord = split(getStringValue(pixxy[x]), separ)
56- let price = oldrecord[1]
57-[pixxy[x], makeString([callerAdress, toString(fraction(parseIntValue(price), (100 + incrprice), 100)), color, url], separ), oldrecord[0], price]
58- }
59-
60- let all = [command(0), command(1), command(2), command(3), command(4), command(5), command(6), command(7), command(8), command(9), command(10), command(11), command(12), command(13), command(14), command(15), command(16), command(17), command(18), command(19), command(20), command(21), command(22), command(23), command(24), command(25), command(26), command(27), command(28)]
61- let payment = toString(fraction(((((((((((((((((((((((((((((parseIntValue(all[0][3]) + parseIntValue(all[1][3])) + parseIntValue(all[2][3])) + parseIntValue(all[3][3])) + parseIntValue(all[4][3])) + parseIntValue(all[5][3])) + parseIntValue(all[6][3])) + parseIntValue(all[7][3])) + parseIntValue(all[8][3])) + parseIntValue(all[9][3])) + parseIntValue(all[10][3])) + parseIntValue(all[11][3])) + parseIntValue(all[12][3])) + parseIntValue(all[13][3])) + parseIntValue(all[14][3])) + parseIntValue(all[15][3])) + parseIntValue(all[16][3])) + parseIntValue(all[17][3])) + parseIntValue(all[18][3])) + parseIntValue(all[19][3])) + parseIntValue(all[20][3])) + parseIntValue(all[21][3])) + parseIntValue(all[22][3])) + parseIntValue(all[23][3])) + parseIntValue(all[24][3])) + parseIntValue(all[25][3])) + parseIntValue(all[26][3])) + parseIntValue(all[27][3])) + parseIntValue(all[28][3])), (100 + masterfee), 100))
62- let pmt = if ((size(i.payments) == 1))
63- then i.payments[0]
64- else throw(("Attached payment is required: " + payment))
65- if (isDefined(pmt.assetId))
66- then throw("works with waves only")
67- else if ((parseIntValue(payment) > pmt.amount))
68- then throw(((("you give: " + toString(pmt.amount)) + ", but deal needs: ") + payment))
69- else $Tuple2([StringEntry(all[0][0], all[0][1]), ScriptTransfer(Address(fromBase58String(all[0][2])), parseIntValue(all[0][3]), unit), StringEntry(all[1][0], all[1][1]), ScriptTransfer(Address(fromBase58String(all[1][2])), parseIntValue(all[1][3]), unit), StringEntry(all[2][0], all[2][1]), ScriptTransfer(Address(fromBase58String(all[2][2])), parseIntValue(all[2][3]), unit), StringEntry(all[3][0], all[3][1]), ScriptTransfer(Address(fromBase58String(all[3][2])), parseIntValue(all[3][3]), unit), StringEntry(all[4][0], all[4][1]), ScriptTransfer(Address(fromBase58String(all[4][2])), parseIntValue(all[4][3]), unit), StringEntry(all[5][0], all[5][1]), ScriptTransfer(Address(fromBase58String(all[5][2])), parseIntValue(all[5][3]), unit), StringEntry(all[6][0], all[6][1]), ScriptTransfer(Address(fromBase58String(all[6][2])), parseIntValue(all[6][3]), unit), StringEntry(all[7][0], all[7][1]), ScriptTransfer(Address(fromBase58String(all[7][2])), parseIntValue(all[7][3]), unit), StringEntry(all[8][0], all[8][1]), ScriptTransfer(Address(fromBase58String(all[8][2])), parseIntValue(all[8][3]), unit), StringEntry(all[9][0], all[9][1]), ScriptTransfer(Address(fromBase58String(all[9][2])), parseIntValue(all[9][3]), unit), StringEntry(all[10][0], all[10][1]), ScriptTransfer(Address(fromBase58String(all[10][2])), parseIntValue(all[10][3]), unit), StringEntry(all[11][0], all[11][1]), ScriptTransfer(Address(fromBase58String(all[11][2])), parseIntValue(all[11][3]), unit), StringEntry(all[12][0], all[12][1]), ScriptTransfer(Address(fromBase58String(all[12][2])), parseIntValue(all[12][3]), unit), StringEntry(all[13][0], all[13][1]), ScriptTransfer(Address(fromBase58String(all[13][2])), parseIntValue(all[13][3]), unit), StringEntry(all[14][0], all[14][1]), ScriptTransfer(Address(fromBase58String(all[14][2])), parseIntValue(all[14][3]), unit), StringEntry(all[15][0], all[15][1]), ScriptTransfer(Address(fromBase58String(all[15][2])), parseIntValue(all[15][3]), unit), StringEntry(all[16][0], all[16][1]), ScriptTransfer(Address(fromBase58String(all[16][2])), parseIntValue(all[16][3]), unit), StringEntry(all[17][0], all[17][1]), ScriptTransfer(Address(fromBase58String(all[17][2])), parseIntValue(all[17][3]), unit), StringEntry(all[18][0], all[18][1]), ScriptTransfer(Address(fromBase58String(all[18][2])), parseIntValue(all[18][3]), unit), StringEntry(all[19][0], all[19][1]), ScriptTransfer(Address(fromBase58String(all[19][2])), parseIntValue(all[19][3]), unit), StringEntry(all[20][0], all[20][1]), ScriptTransfer(Address(fromBase58String(all[20][2])), parseIntValue(all[20][3]), unit), StringEntry(all[21][0], all[21][1]), ScriptTransfer(Address(fromBase58String(all[21][2])), parseIntValue(all[21][3]), unit), StringEntry(all[22][0], all[22][1]), ScriptTransfer(Address(fromBase58String(all[22][2])), parseIntValue(all[22][3]), unit), StringEntry(all[23][0], all[23][1]), ScriptTransfer(Address(fromBase58String(all[23][2])), parseIntValue(all[23][3]), unit), StringEntry(all[24][0], all[24][1]), ScriptTransfer(Address(fromBase58String(all[24][2])), parseIntValue(all[24][3]), unit), StringEntry(all[25][0], all[25][1]), ScriptTransfer(Address(fromBase58String(all[25][2])), parseIntValue(all[25][3]), unit), StringEntry(all[26][0], all[26][1]), ScriptTransfer(Address(fromBase58String(all[26][2])), parseIntValue(all[26][3]), unit), StringEntry(all[27][0], all[27][1]), ScriptTransfer(Address(fromBase58String(all[27][2])), parseIntValue(all[27][3]), unit), StringEntry(all[28][0], all[28][1]), ScriptTransfer(Address(fromBase58String(all[28][2])), parseIntValue(all[28][3]), unit), ScriptTransfer(i.caller, (pmt.amount - parseIntValue(payment)), unit)], unit)
70- }
71-
72-
2+{-# CONTENT_TYPE EXPRESSION #-}
3+match tx {
4+ case _ =>
5+ false
6+}

github/deemru/w8io/026f985 
27.65 ms