tx · 7yDCRbunnWVFtUj8WKGm9yRGioQGmxq5xbXPjC4eqGXT

3Muey1cqNaBjjcxXfKHF8qqTZeyGPAsvCpP:  -0.00900000 Waves

2022.08.17 09:29 [2188114] smart account 3Muey1cqNaBjjcxXfKHF8qqTZeyGPAsvCpP > SELF 0.00000000 Waves

{ "type": 13, "id": "7yDCRbunnWVFtUj8WKGm9yRGioQGmxq5xbXPjC4eqGXT", "fee": 900000, "feeAssetId": null, "timestamp": 1660717754576, "version": 2, "chainId": 84, "sender": "3Muey1cqNaBjjcxXfKHF8qqTZeyGPAsvCpP", "senderPublicKey": "3bPATHM3GnqSGjJb8saHmYMvsaioqu2etEGkZDiuRCcn", "proofs": [ "pXcRRtsgMXzTC8VQsT1W3h8UZsZq4QMvPtG4EiCYmgELdMUdoqZhYkyxXNeiEKZdiSFFpS1LkEDY4U5b8ojWTYu" ], "script": "base64:AAIFAAAAAAAAAAQIAhIAAAAACgAAAAAJbWF4U3VwcGx5AAAAAAAAAAPoAAAAAAV3YXZlcwAAAAAABfXhAAEAAAAMZ2V0UHVua0lES2V5AAAAAQAAAAJpZAkAASwAAAACAgAAAAVwdW5rXwUAAAACaWQBAAAADXRyeUdldEludGVnZXIAAAABAAAAA2tleQQAAAADdmFsBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAAAAAAAAAAAABQAAAAN2YWwBAAAADHRyeUdldFN0cmluZwAAAAEAAAADa2V5BAAAAAN2YWwEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWICAAAAAAUAAAADdmFsAQAAAAZnZXRVUkwAAAABAAAAAmlkAwkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAAS1AAAAAgkBAAAADHRyeUdldFN0cmluZwAAAAECAAAACGdpZl9wdW5rAgAAAAEsBQAAAAJpZAkAASwAAAACCQABLAAAAAICAAAAJGh0dHBzOi8vbXlwdW5rcy53YXZlc3B1bmtzLmNvbS9tYWQvbQUAAAACaWQCAAAABC5naWYJAAEsAAAAAgkAASwAAAACAgAAACRodHRwczovL215cHVua3Mud2F2ZXNwdW5rcy5jb20vbWFkL20FAAAAAmlkAgAAAAQucG5nAQAAAAtnZXRUeXBlUHVuawAAAAEAAAACaWQEAAAABWlkSU5UBAAAAAckbWF0Y2gwCQAEtgAAAAEFAAAAAmlkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWkFAAAAByRtYXRjaDAFAAAAAWkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAAAWkFAAAAByRtYXRjaDAAAAAAAAAAAAAJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABLUAAAACCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQIAAAAIZ2lmX3B1bmsCAAAAASwJAAGkAAAAAQUAAAAFaWRJTlQCAAAACnVsdHJhLXJhcmUDCQAAZwAAAAIAAAAAAAAAAB0FAAAABWlkSU5UAgAAAARyYXJlAgAAAAZ1bmlxdWUBAAAAD2dldFJhbmRvbU51bWJlcgAAAAQAAAAIdmFyaWFudHMAAAAEdHhJZAAAAAtoZWlnaHRCbG9jawAAAAZvZmZzZXQEAAAAD3JhbmRvbVNlZWRCbG9jawkBAAAABXZhbHVlAAAAAQkAA+0AAAABCQAAZQAAAAIFAAAAC2hlaWdodEJsb2NrAAAAAAAAAAABBAAAAApyYW5kb21IYXNoCQALVAAAAAEJAADLAAAAAgUAAAAEdHhJZAkBAAAABXZhbHVlAAAAAQgFAAAAD3JhbmRvbVNlZWRCbG9jawAAAAN2cmYJAABqAAAAAgkABLIAAAACBQAAAApyYW5kb21IYXNoBQAAAAZvZmZzZXQFAAAACHZhcmlhbnRzAQAAAA9jYWxjV2F2ZXNOZWVkZWQAAAAACQAAaAAAAAIFAAAABXdhdmVzAAAAAAAAAAAGAQAAAAVfbWludAAAAAMAAAABaQAAABB0b3RhbFB1bmtzU3VwcGx5AAAADmF2YWlsYWJsZVB1bmtzBAAAABJsaXN0QXZhaWxhYmxlUHVua3MJAAS1AAAAAgUAAAAOYXZhaWxhYmxlUHVua3MCAAAAASwEAAAABHJhbmQJAQAAAA9nZXRSYW5kb21OdW1iZXIAAAAECQAAZQAAAAIFAAAACW1heFN1cHBseQUAAAAQdG90YWxQdW5rc1N1cHBseQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAAGaGVpZ2h0AAAAAAAAAAAABAAAAAZwdW5rSWQJAAGRAAAAAgUAAAASbGlzdEF2YWlsYWJsZVB1bmtzBQAAAARyYW5kBAAAAARuYW1lCQABLAAAAAICAAAACU1hZFB1bmsgIwUAAAAGcHVua0lkBAAAAARtZXRhAgAAAG5GcmVlIE5vbWFkczogYm91bnR5IGh1bnRlcnMsIHJhaWRlcnMsIHNoZXJpZmZzLCB0cmliYWwgd2FycmlvcnMgYW5kIGFkcmVuYWxpbmUganVua2llcy4gQ3JlYXRlZCBieSBAV2F2ZXNQdW5rcwQAAAAFYXNzZXQJAARD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", "height": 2188114, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GJ3KkUa7mnHxknMmfZbUwb1hTM1miLsBFdfKVtvySjXb Next: 4zErmhgTQAwzcg5BXwwQMWWVnkhKUX5vhBbU3fJKqCM5 Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = 5000
4+let a = 1000
55
6-func b (c) = {
7- let d = {
8- let e = getInteger(this, c)
9- if ($isInstanceOf(e, "Int"))
6+let b = 100000000
7+
8+func c (d) = ("punk_" + d)
9+
10+
11+func e (f) = {
12+ let g = {
13+ let h = getInteger(this, f)
14+ if ($isInstanceOf(h, "Int"))
1015 then {
11- let f = e
12- f
16+ let i = h
17+ i
1318 }
1419 else 0
1520 }
16- d
21+ g
1722 }
1823
1924
20-func g (c) = {
21- let d = {
22- let e = getString(this, c)
23- if ($isInstanceOf(e, "String"))
25+func j (f) = {
26+ let g = {
27+ let h = getString(this, f)
28+ if ($isInstanceOf(h, "String"))
2429 then {
25- let f = e
26- f
30+ let i = h
31+ i
2732 }
2833 else ""
2934 }
30- d
35+ g
3136 }
3237
3338
34-func h (i) = {
35- let d = {
36- let e = addressFromString(i)
37- if ($isInstanceOf(e, "Address"))
39+func k (d) = if (containsElement(split(j("gif_punk"), ","), d))
40+ then (("https://mypunks.wavespunks.com/mad/m" + d) + ".gif")
41+ else (("https://mypunks.wavespunks.com/mad/m" + d) + ".png")
42+
43+
44+func l (d) = {
45+ let m = {
46+ let h = parseInt(d)
47+ if ($isInstanceOf(h, "Int"))
3848 then {
39- let j = e
40- j
49+ let n = h
50+ n
4151 }
42- else if ($isInstanceOf(e, "Unit"))
52+ else if ($isInstanceOf(h, "Unit"))
4353 then {
44- let j = e
45- Address(base58'3PQG1wqM5vECAGVzMDvBzyq5nSkriqnVFxs')
54+ let n = h
55+ 0
4656 }
4757 else throw("Match error")
4858 }
49- d
59+ if (containsElement(split(j("gif_punk"), ","), toString(m)))
60+ then "ultra-rare"
61+ else if ((29 >= m))
62+ then "rare"
63+ else "unique"
5064 }
5165
5266
53-func k (l) = ("Memalien #" + l)
54-
55-
56-func m (l) = (("https://images.wavespunks.com/memalien/" + l) + ".png")
57-
58-
59-func n (l) = (("https://images.wavespunks.com/memalien/" + l) + ".mp4")
60-
61-
62-func o (l) = (((("{\"id\": " + l) + ", \"url\": \"") + m(l)) + "\"}")
63-
64-
65-func p (l) = (((((("{\"id\": " + l) + ", \"url\": \"") + m(l)) + "\", \"animation_url\": \"") + n(l)) + "\"}")
66-
67-
68-@Callable(q)
69-func dropNFT (r) = {
70- let s = b("memalien_supply")
71- let t = b("end_drop")
72- let u = g("owner")
73- if ((s > (t - 1)))
74- then throw("Drop was ended")
75- else if ((s == a))
76- then throw("All memalien are minted")
77- else if ((toString(q.caller) != u))
78- then throw("The function is available only to the admin")
79- else {
80- let l = toString(s)
81- if (containsElement(split(g("video_nft"), ","), l))
82- then {
83- let v = Issue(k(l), p(l), 1, 0, false, unit, height)
84- let w = calculateAssetId(v)
85-[IntegerEntry("memalien_supply", (s + 1)), StringEntry(((("drop_" + l) + "_") + r), toBase58String(w)), v, ScriptTransfer(h(r), 1, w)]
86- }
87- else {
88- let v = Issue(k(l), o(l), 1, 0, false, unit, height)
89- let w = calculateAssetId(v)
90-[IntegerEntry("memalien_supply", (s + 1)), StringEntry(((("drop_" + l) + "_") + r), toBase58String(w)), v, ScriptTransfer(h(r), 1, w)]
91- }
92- }
67+func o (p,q,r,s) = {
68+ let t = value(blockInfoByHeight((r - 1)))
69+ let u = sha256_16Kb((q + value(t.vrf)))
70+ (toInt(u, s) % p)
9371 }
9472
9573
74+func v () = (b * 6)
9675
97-@Callable(q)
98-func mint () = {
99- let s = b("memalien_supply")
100- let t = b("end_drop")
101- if (((t - 1) > s))
102- then throw("Drop wasn`t ended yet")
103- else if ((s == a))
104- then throw("All memalien are minted")
105- else if ((g(toString(q.caller)) != ""))
106- then throw("You already minted NFT")
107- else {
108- let l = toString(s)
109- let v = Issue(k(l), o(l), 1, 0, false, unit, height)
110- let w = calculateAssetId(v)
111-[IntegerEntry("memalien_supply", (s + 1)), StringEntry(toString(q.caller), toBase58String(w)), v, ScriptTransfer(q.caller, 1, w)]
112- }
76+
77+func w (n,x,y) = {
78+ let z = split(y, ",")
79+ let A = o((a - x), n.transactionId, height, 0)
80+ let B = z[A]
81+ let C = ("MadPunk #" + B)
82+ let D = "Free Nomads: bounty hunters, raiders, sheriffs, tribal warriors and adrenaline junkies. Created by @WavesPunks"
83+ let E = Issue(C, D, 1, 0, false, unit, height)
84+ let F = calculateAssetId(E)
85+ let G = [IntegerEntry("punks_supply", (x + 1)), StringEntry("available_punks", makeString(removeByIndex(z, A), ",")), E, StringEntry(c(B), toBase58String(F)), StringEntry((toBase58String(F) + "_id"), c(B)), StringEntry((toBase58String(F) + "_type"), l(B)), StringEntry((toBase58String(F) + "_url"), k(B)), StringEntry((toBase58String(F) + "_fraction"), "Free Nomads"), ScriptTransfer(n.caller, 1, F)]
86+ G
11387 }
11488
11589
116-@Verifier(x)
117-func y () = sigVerify(x.bodyBytes, x.proofs[0], x.senderPublicKey)
90+@Callable(n)
91+func mint () = {
92+ let x = e("punks_supply")
93+ let y = j("available_punks")
94+ let H = split(j("premint_address"), ",")
95+ let I = e("start_mint")
96+ let J = v()
97+ let K = value(n.payments[0])
98+ let L = {
99+ let h = K.assetId
100+ if ($isInstanceOf(h, "ByteVector"))
101+ then {
102+ let M = h
103+ true
104+ }
105+ else if ($isInstanceOf(h, "Unit"))
106+ then {
107+ let N = h
108+ false
109+ }
110+ else throw("Match error")
111+ }
112+ if ((x == a))
113+ then throw("All punks are minted")
114+ else if ((y == ""))
115+ then throw("No punks available")
116+ else if (containsElement(H, toString(n.caller)))
117+ then {
118+ let O = {
119+ let h = indexOf(H, toString(n.caller))
120+ if ($isInstanceOf(h, "Int"))
121+ then {
122+ let i = h
123+ i
124+ }
125+ else if ($isInstanceOf(h, "Unit"))
126+ then {
127+ let i = h
128+ 0
129+ }
130+ else throw("Match error")
131+ }
132+ let P = (w(n, x, y) ++ [StringEntry("premint_address", makeString(removeByIndex(H, O), ","))])
133+ P
134+ }
135+ else if ((I > lastBlock.timestamp))
136+ then throw("Mint hasn`t yet begun")
137+ else if (L)
138+ then throw("Payment must be in Waves tokens only")
139+ else if ((J > K.amount))
140+ then throw("Insufficient funds")
141+ else w(n, x, y)
142+ }
143+
144+
145+@Verifier(G)
146+func Q () = sigVerify(G.bodyBytes, G.proofs[0], G.senderPublicKey)
118147

github/deemru/w8io/873ac7e 
34.84 ms