tx · DKJFWnG6gGZH7DZMP1HtzLLWat5KG1Y64RV7kNRARc2V 3MsX9C2MzzxE4ySF5aYcJoaiPfkyxZMg4cW: -0.00700000 Waves 2022.06.16 13:06 [2098787] smart account 3MsX9C2MzzxE4ySF5aYcJoaiPfkyxZMg4cW > SELF 0.00000000 Waves
{ "type": 13, "id": "DKJFWnG6gGZH7DZMP1HtzLLWat5KG1Y64RV7kNRARc2V", "fee": 700000, "feeAssetId": null, "timestamp": 1655374006569, "version": 2, "chainId": 84, "sender": "3MsX9C2MzzxE4ySF5aYcJoaiPfkyxZMg4cW", "senderPublicKey": "AXbaBkJNocyrVpwqTzD4TpUY8fQ6eeRto9k1m2bNCzXV", "proofs": [ "PdeuMKVYzHBv4oZX9e4PCX2wo2L4TCe4NvfXX2cUX2xWU2xWVLW8AVBEoFAY1S8GhZWXBcrYTJyoPGWpALDX8Ls" ], "script": "base64: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", "height": 2098787, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: F4qr6mi4fT4LsQjPsogUX4FoYobARwT8iT2WQ1eLQiqe Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = | |
4 | + | let a = "tokenName" | |
5 | 5 | ||
6 | - | let b = | |
6 | + | let b = "totalWhiteList" | |
7 | 7 | ||
8 | - | let c = | |
8 | + | let c = 5 | |
9 | 9 | ||
10 | - | let d = | |
10 | + | let d = 2000000 | |
11 | 11 | ||
12 | - | func e (f,g) = ((f * a) + g) | |
13 | - | ||
14 | - | ||
15 | - | @Callable(h) | |
16 | - | func purchase (f,g) = { | |
17 | - | let i = ((f + ", ") + g) | |
18 | - | let j = ((d + toBase58String(h.transactionId)) + ".png") | |
19 | - | let k = Issue((i + " Gen 1"), j, 1, 0, false) | |
20 | - | let l = calculateAssetId(k) | |
21 | - | let m = "01" | |
22 | - | let n = ((i + ",") + m) | |
23 | - | [k, StringEntry(n, toBase58String(l)), StringEntry((n + "_asset"), j), StringEntry((n + "_owner"), toBase58String(h.caller.bytes)), ScriptTransfer(h.caller, 1, l)] | |
12 | + | func e (f) = { | |
13 | + | let g = "_" | |
14 | + | let h = "wl" | |
15 | + | makeString([h, toString(f)], g) | |
24 | 16 | } | |
25 | 17 | ||
26 | 18 | ||
27 | - | @Verifier(o) | |
28 | - | func p () = sigVerify(o.bodyBytes, o.proofs[0], o.senderPublicKey) | |
19 | + | func i (j) = if ((size(j.payments) != 1)) | |
20 | + | then false | |
21 | + | else { | |
22 | + | let k = j.payments[0] | |
23 | + | let l = k.assetId | |
24 | + | if ($isInstanceOf(l, "Unit")) | |
25 | + | then { | |
26 | + | let m = l | |
27 | + | (k.amount >= d) | |
28 | + | } | |
29 | + | else if ($isInstanceOf(l, "ByteVector")) | |
30 | + | then { | |
31 | + | let n = l | |
32 | + | false | |
33 | + | } | |
34 | + | else throw("Match error") | |
35 | + | } | |
36 | + | ||
37 | + | ||
38 | + | @Callable(j) | |
39 | + | func register () = { | |
40 | + | let o = i(j) | |
41 | + | if (o) | |
42 | + | then { | |
43 | + | let p = e(j.caller) | |
44 | + | let q = getBoolean(this, p) | |
45 | + | if (isDefined(q)) | |
46 | + | then throw("reg only once") | |
47 | + | else { | |
48 | + | let r = valueOrElse(getInteger(this, b), 0) | |
49 | + | [BooleanEntry(p, true), IntegerEntry(b, (r + 1))] | |
50 | + | } | |
51 | + | } | |
52 | + | else throw(("You should attach one payment in WAWES=" + toString(d))) | |
53 | + | } | |
54 | + | ||
55 | + | ||
56 | + | ||
57 | + | @Callable(j) | |
58 | + | func start () = if ((j.caller != this)) | |
59 | + | then throw("admin only") | |
60 | + | else { | |
61 | + | let r = valueOrElse(getInteger(this, b), 0) | |
62 | + | if ((r >= c)) | |
63 | + | then { | |
64 | + | let s = Issue(a, "", 1000000000, 0, true) | |
65 | + | let t = calculateAssetId(s) | |
66 | + | [s, BinaryEntry(a, t)] | |
67 | + | } | |
68 | + | else throw("need more founders") | |
69 | + | } | |
70 | + | ||
71 | + | ||
72 | + | ||
73 | + | @Callable(j) | |
74 | + | func getTokens () = { | |
75 | + | let u = e(j.caller) | |
76 | + | let q = valueOrElse(getBoolean(this, u), false) | |
77 | + | let v = getBinary(this, a) | |
78 | + | if ((v == unit)) | |
79 | + | then throw("wait for start") | |
80 | + | else if (q) | |
81 | + | then [ScriptTransfer(j.caller, 1000, v), BooleanEntry(u, false)] | |
82 | + | else throw("get only once") | |
83 | + | } | |
84 | + | ||
85 | + | ||
86 | + | @Verifier(w) | |
87 | + | func x () = { | |
88 | + | let l = w | |
89 | + | if ($isInstanceOf(l, "TransferTransaction")) | |
90 | + | then { | |
91 | + | let y = l | |
92 | + | sigVerify(w.bodyBytes, w.proofs[0], w.senderPublicKey) | |
93 | + | } | |
94 | + | else if ($isInstanceOf(l, "MassTransferTransaction")) | |
95 | + | then { | |
96 | + | let z = l | |
97 | + | sigVerify(w.bodyBytes, w.proofs[0], w.senderPublicKey) | |
98 | + | } | |
99 | + | else if ($isInstanceOf(l, "DataTransaction")) | |
100 | + | then { | |
101 | + | let A = l | |
102 | + | sigVerify(w.bodyBytes, w.proofs[0], w.senderPublicKey) | |
103 | + | } | |
104 | + | else if ($isInstanceOf(l, "InvokeScriptTransaction")) | |
105 | + | then { | |
106 | + | let B = l | |
107 | + | sigVerify(w.bodyBytes, w.proofs[0], w.senderPublicKey) | |
108 | + | } | |
109 | + | else false | |
110 | + | } | |
29 | 111 |
github/deemru/w8io/026f985 21.65 ms ◑