tx · 5ySNNs18VUCV1gq1zmdTwCehGED83PrY5CxEaDdwgoBT

3Mx1vNMiWzJ2NgY1t8bqsj8vvpxjaTLJWyo:  -0.01400000 Waves

2021.11.15 10:05 [1791820] smart account 3Mx1vNMiWzJ2NgY1t8bqsj8vvpxjaTLJWyo > SELF 0.00000000 Waves

{ "type": 13, "id": "5ySNNs18VUCV1gq1zmdTwCehGED83PrY5CxEaDdwgoBT", "fee": 1400000, "feeAssetId": null, "timestamp": 1636959966674, "version": 2, "chainId": 84, "sender": "3Mx1vNMiWzJ2NgY1t8bqsj8vvpxjaTLJWyo", "senderPublicKey": "5fUyPtPgB9o1mWXPYifKATuZc8PG2ErT5CGABbC7pu3", "proofs": [ "2QubWE6PEZENnACi3HXySTmKhgGX3oSyEfeD64rimpEv8skYtwmkj7KkMfhXWrRqPuJK72gxYosav8KkeNtX4WP6" ], "script": "base64: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", "height": 1791820, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GiHAFUyWrVDoyWvjGMZvdPJNZxbBbEQtfsZmHw7XgF3s Next: none Diff:
OldNewDifferences
108108 let H = p((a - x), y.transactionId, height, 0)
109109 let I = G[H]
110110 let J = ("WavesPunk #" + I)
111- let K = (((((("{\"id\":" + I) + ", \"type\":") + n(I)) + ", \"url\":") + o(I)) + "}")
111+ let K = (((((("{\"id\":" + I) + ", \"type\": \"") + n(I)) + "\", \"url\": \"") + o(I)) + "\"}")
112112 let L = Issue(J, K, 1, 0, false, unit, height)
113113 let M = calculateAssetId(L)
114114 let N = k(z)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 1000
55
66 let b = 100000000
77
88 func c (d) = ("punk_" + d)
99
1010
1111 func e (f) = {
1212 let g = {
1313 let h = getInteger(this, f)
1414 if ($isInstanceOf(h, "Int"))
1515 then {
1616 let i = h
1717 i
1818 }
1919 else 0
2020 }
2121 g
2222 }
2323
2424
2525 func j (f) = {
2626 let g = {
2727 let h = getString(this, f)
2828 if ($isInstanceOf(h, "String"))
2929 then {
3030 let i = h
3131 i
3232 }
3333 else ""
3434 }
3535 g
3636 }
3737
3838
3939 func k (l) = {
4040 let g = {
4141 let h = addressFromString(l)
4242 if ($isInstanceOf(h, "Address"))
4343 then {
4444 let m = h
4545 m
4646 }
4747 else if ($isInstanceOf(h, "Unit"))
4848 then {
4949 let m = h
5050 Address(base58'3Msrw9Kxa6RgHYQ63sSib9uESmaBU9gH6Gy')
5151 }
5252 else throw("Match error")
5353 }
5454 g
5555 }
5656
5757
5858 func n (d) = if ((d != "0"))
5959 then "unique"
6060 else "rare"
6161
6262
6363 func o (d) = (("https://wavespunks.com/punks/" + d) + ".png")
6464
6565
6666 func p (q,r,s,t) = {
6767 let u = value(blockInfoByHeight((s - 1)))
6868 let v = sha256_16Kb((r + value(u.vrf)))
6969 (toInt(v, t) % q)
7070 }
7171
7272
7373 func w (x) = if ((x == 0))
7474 then b
7575 else (((x / 100) + 1) * b)
7676
7777
7878 @Callable(y)
7979 func mint (z) = {
8080 let x = e("punks_supply")
8181 let A = j("available_punks")
8282 let B = w(x)
8383 let C = value(y.payments[0])
8484 let D = {
8585 let h = C.assetId
8686 if ($isInstanceOf(h, "ByteVector"))
8787 then {
8888 let E = h
8989 true
9090 }
9191 else if ($isInstanceOf(h, "Unit"))
9292 then {
9393 let F = h
9494 false
9595 }
9696 else throw("Match error")
9797 }
9898 if ((x == a))
9999 then throw("All punks are minted")
100100 else if ((A == ""))
101101 then throw("No punks available")
102102 else if (D)
103103 then throw("Payment must be in Waves tokens only")
104104 else if ((B > C.amount))
105105 then throw("Insufficient funds")
106106 else {
107107 let G = split(A, ",")
108108 let H = p((a - x), y.transactionId, height, 0)
109109 let I = G[H]
110110 let J = ("WavesPunk #" + I)
111- let K = (((((("{\"id\":" + I) + ", \"type\":") + n(I)) + ", \"url\":") + o(I)) + "}")
111+ let K = (((((("{\"id\":" + I) + ", \"type\": \"") + n(I)) + "\", \"url\": \"") + o(I)) + "\"}")
112112 let L = Issue(J, K, 1, 0, false, unit, height)
113113 let M = calculateAssetId(L)
114114 let N = k(z)
115115 [IntegerEntry("punks_supply", (x + 1)), StringEntry("available_punks", makeString(removeByIndex(G, H), ",")), L, StringEntry(c(I), toBase58String(M)), StringEntry(toBase58String(M), c(I)), ScriptTransfer(y.caller, 1, M), ScriptTransfer(N, (C.amount / 10), unit)]
116116 }
117117 }
118118
119119
120120 @Verifier(O)
121121 func P () = sigVerify(O.bodyBytes, O.proofs[0], O.senderPublicKey)
122122

github/deemru/w8io/03bedc9 
61.12 ms