tx · HyEKm4VgkbAaatJ6VAELgFN8v47Ger9vQv88udPSC2f6 3MzcHAM4DcpYKt1ZAMibQmqU69pKQ6qz3i4: -0.00100000 Waves 2023.06.26 12:18 [2639422] smart account 3MzcHAM4DcpYKt1ZAMibQmqU69pKQ6qz3i4 > SELF 0.00000000 Waves
{ "type": 13, "id": "HyEKm4VgkbAaatJ6VAELgFN8v47Ger9vQv88udPSC2f6", "fee": 100000, "feeAssetId": null, "timestamp": 1687771096876, "version": 2, "chainId": 84, "sender": "3MzcHAM4DcpYKt1ZAMibQmqU69pKQ6qz3i4", "senderPublicKey": "DoAid1WtwHRuonKq6xKkbxijk1QQhXG75vdyuUM7n7NN", "proofs": [ "ULfL7dcP21Cti5QtA6tNpRoV68YcgvMPHqmp8kLC7CsZuRZJ5ShvKx37ZKGms3eW5hK9tfKy4vBp6g18mqsFgfY" ], "script": "base64:BgIJCAISBQoDCAEICwAFcnVsZXICLDd6TlVKQlZvUE1CQ1JzdFAzUjFBdnhoeHJONTFTUWtuNUJNaTJpSjljaUFkAAZydWxlcjICLDlmZTY3ZXd6eHRhTG96ZVBaMlUzU0c3MVpRRnlHTEFYV21tbUhSRXBGZU1DAAZydWxlcjMCLEFvMnFpalFWdnZaWlNnUnpLb1l5SjlrQnhZanNQUTM3Q2RVcHBkSnRUNlYxAAZydWxlcjQCLDNQU0s3YjZiTWYxZ0JEdmpIUmJHUTl6R2M2OFVpcmVxQmoyZXViVmkxcTVyAAZydWxlcjUCLDY2ckN2OWRmZG91cVEzU1JHOVhyS25SaUZtTWJ3a1pRZ21oUzFmdG5DdHFtAAZydWxlcjYCLEZlTVg2aFFhUktzTHNraTc3eFZISERHUmtqOVZ1SnptUDJNQUNiQVdEakRLAAZydWxlcjcCLDd4REVRN0paTkwxWkxMcWN5U1ViMVdXaWpHMVgzR0RXRzM1UXh5TnFieHhpAAZydWxlcjgCLEdYNWsxQ3B1aG52OW9QOVZuV01TWEJySnVzYWtVNVAzS3pxUVc1ZTdQamdkAAphYnJhY2FkYnJhASCEw4RMq+J8AgneosFzaAks62toFxJJXbpWEJovtolzAQACbUMCIzNQQmVlcmg3NTllQTFlR0Z1dzc3Um93YVpmWk5vaHpKenZ6AQN2aXABA2trawMDAwMDAwMDCQAAAgUDa2trBQVydWxlcgYJAAACBQNra2sFBnJ1bGVyMgYJAAACBQNra2sFBnJ1bGVyMwYJAAACBQNra2sFBnJ1bGVyNAYJAAACBQNra2sFBnJ1bGVyNQYJAAACBQNra2sFBnJ1bGVyNgYJAAACBQNra2sFBnJ1bGVyNwYJAAACBQNra2sFBnJ1bGVyOAYHAQFpAQFvAwFmAWEBZAQJY2FsbGVyUGJrCQDYBAEIBQFpD2NhbGxlclB1YmxpY0tleQMJAQEhAQkBA3ZpcAEFCWNhbGxlclBiawQBawkA/QcECQEHQWRkcmVzcwEJANkEAQUCbUMFAWYFA25pbAUDbmlsAwkAAAIFAWsFAWsFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgUDbmlsAJIikug=", "height": 2639422, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8mvjCJpdqrjTbXqXWgADL3k8PhTEu1FiiHkcPWyUMJk9 Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let | |
4 | + | let ruler = "7zNUJBVoPMBCRstP3R1AvxhxrN51SQkn5BMi2iJ9ciAd" | |
5 | 5 | ||
6 | - | let | |
6 | + | let ruler2 = "9fe67ewzxtaLozePZ2U3SG71ZQFyGLAXWmmmHREpFeMC" | |
7 | 7 | ||
8 | - | let | |
8 | + | let ruler3 = "Ao2qijQVvvZZSgRzKoYyJ9kBxYjsPQ37CdUppdJtT6V1" | |
9 | 9 | ||
10 | - | let | |
10 | + | let ruler4 = "3PSK7b6bMf1gBDvjHRbGQ9zGc68UireqBj2eubVi1q5r" | |
11 | 11 | ||
12 | - | let | |
12 | + | let ruler5 = "66rCv9dfdouqQ3SRG9XrKnRiFmMbwkZQgmhS1ftnCtqm" | |
13 | 13 | ||
14 | - | let | |
14 | + | let ruler6 = "FeMX6hQaRKsLski77xVHHDGRkj9VuJzmP2MACbAWDjDK" | |
15 | 15 | ||
16 | - | let | |
16 | + | let ruler7 = "7xDEQ7JZNL1ZLLqcySUb1WWijG1X3GDWG35QxyNqbxxi" | |
17 | 17 | ||
18 | - | let | |
18 | + | let ruler8 = "GX5k1Cpuhnv9oP9VnWMSXBrJusakU5P3KzqQW5e7Pjgd" | |
19 | 19 | ||
20 | - | let | |
20 | + | let abracadbra = base58'9wFjTx4rK6ZxfHa3z65BHhP6A7gkZLioxVrD4p2Frjjn' | |
21 | 21 | ||
22 | - | let | |
22 | + | let mC = "3PBeerh759eA1eGFuw77RowaZfZNohzJzvz" | |
23 | 23 | ||
24 | - | let key_cowNft_collection = "cowNft_collection" | |
25 | - | ||
26 | - | let key_cowNft_image = "cowNft_image" | |
27 | - | ||
28 | - | let live = "ACTIVE" | |
29 | - | ||
30 | - | let dead = "INACTIVE" | |
31 | - | ||
32 | - | let fatten = "FATTEN" | |
33 | - | ||
34 | - | func tryGetInteger (key) = match getInteger(this, key) { | |
35 | - | case b: Int => | |
36 | - | b | |
37 | - | case _ => | |
38 | - | 0 | |
39 | - | } | |
40 | - | ||
41 | - | ||
42 | - | func tryGetString (key) = match getString(this, key) { | |
43 | - | case a: String => | |
44 | - | a | |
45 | - | case _ => | |
46 | - | "" | |
47 | - | } | |
48 | - | ||
49 | - | ||
50 | - | func allow (callerPbk) = if (if ((callerPbk == admin1)) | |
24 | + | func vip (kkk) = if (if (if (if (if (if (if (if ((kkk == ruler)) | |
51 | 25 | then true | |
52 | - | else (callerPbk == admin2)) | |
26 | + | else (kkk == ruler2)) | |
27 | + | then true | |
28 | + | else (kkk == ruler3)) | |
29 | + | then true | |
30 | + | else (kkk == ruler4)) | |
31 | + | then true | |
32 | + | else (kkk == ruler5)) | |
33 | + | then true | |
34 | + | else (kkk == ruler6)) | |
35 | + | then true | |
36 | + | else (kkk == ruler7)) | |
37 | + | then true | |
38 | + | else (kkk == ruler8)) | |
53 | 39 | then true | |
54 | 40 | else false | |
55 | 41 | ||
56 | 42 | ||
57 | 43 | @Callable(i) | |
58 | - | func | |
44 | + | func o (f,a,d) = { | |
59 | 45 | let callerPbk = toBase58String(i.callerPublicKey) | |
60 | - | if ( | |
46 | + | if (!(vip(callerPbk))) | |
61 | 47 | then { | |
62 | - | let recipient = addressFromStringValue(address) | |
63 | - | let p_arr = split_4C(params, "|") | |
64 | - | let $t017441795 = $Tuple2(p_arr[0], p_arr[1]) | |
65 | - | let farmName = $t017441795._1 | |
66 | - | let farmLocation = $t017441795._2 | |
67 | - | let nextNum = tryGetInteger(key_farmNft_nextNumber) | |
68 | - | if ((nextNum == nextNum)) | |
69 | - | then { | |
70 | - | let farmNftName = (tryGetString(key_farmNft_name) + toString(nextNum)) | |
71 | - | let farmNftDescription = tryGetString(key_farmNft_description) | |
72 | - | let id = { | |
73 | - | let @ = invoke(Address(fromBase58String(puzzleMint)), "mint", nil, nil) | |
74 | - | if ($isInstanceOf(@, "String")) | |
75 | - | then @ | |
76 | - | else throw(($getType(@) + " couldn't be cast to String")) | |
77 | - | } | |
78 | - | $Tuple2([ScriptTransfer(recipient, 1, fromBase58String(id)), IntegerEntry(key_farmNft_nextNumber, (nextNum + 1)), BooleanEntry((("farm_" + address) + "_status"), true), StringEntry((("farm_" + address) + "_name"), farmName), StringEntry((("farm_" + address) + "_location"), farmLocation)], $Tuple3(nextNum, farmName, farmLocation)) | |
79 | - | } | |
48 | + | let k = reentrantInvoke(Address(fromBase58String(mC)), f, nil, nil) | |
49 | + | if ((k == k)) | |
50 | + | then nil | |
80 | 51 | else throw("Strict value is not equal to itself.") | |
81 | 52 | } | |
82 | - | else throw("Not allowed caller") | |
83 | - | } | |
84 | - | ||
85 | - | ||
86 | - | ||
87 | - | @Callable(i) | |
88 | - | func init () = { | |
89 | - | let callerPbk = toBase58String(i.callerPublicKey) | |
90 | - | if (allow(callerPbk)) | |
91 | - | then { | |
92 | - | let nextNum = tryGetInteger(key_farmNft_nextNumber) | |
93 | - | if ((nextNum != 0)) | |
94 | - | then throw("Contract is already initialized") | |
95 | - | else [IntegerEntry(key_farmNft_nextNumber, 1)] | |
96 | - | } | |
97 | - | else throw("Not allowed caller") | |
53 | + | else nil | |
98 | 54 | } | |
99 | 55 | ||
100 | 56 |
github/deemru/w8io/026f985 33.90 ms ◑