tx · 3sMMGG2ovWWdum6tZJvPVUGRu4xYk4KbPd2aTRH2zeU6

3PPhk52YuwKTFT2U865di1Pepj4bFHxubFY:  -0.03800000 Waves

2022.11.08 11:25 [3373272] smart account 3PPhk52YuwKTFT2U865di1Pepj4bFHxubFY > SELF 0.00000000 Waves

{ "type": 13, "id": "3sMMGG2ovWWdum6tZJvPVUGRu4xYk4KbPd2aTRH2zeU6", "fee": 3800000, "feeAssetId": null, "timestamp": 1667895930494, "version": 2, "chainId": 87, "sender": "3PPhk52YuwKTFT2U865di1Pepj4bFHxubFY", "senderPublicKey": "5EhD7NvoyShNGdN6g6ps2X6FieUun2o7TTggY1CL9wH9", "proofs": [ "APFwHT7RiUdLt2NWB5d4CwR41kmh9Y1d9T1z8AMubrXMMBZTkxVDR9U6TYrrUeKKpCbF2Fihc9p45EjKXZBKr4E" ], "script": "base64:BgIeCAISAwoBCBIDCgEIEgMKAQgSBQoDCAgBEgQKAggBAgEPY2hlY2tfd2hpdGVsaXN0AQZjYWxsZXIDCQAAAgUEdGhpcwUGY2FsbGVyBgQHJG1hdGNoMAkAoAgBCQCsAgICAldfCQDYBAEIBQZjYWxsZXIFYnl0ZXMDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBeAUHJG1hdGNoMAUBeAcBCmNsYWltX2ZvbGQCBWFjY3VtBWluZGV4BAkkdDAzNjU0MDkFBWFjY3VtBARsaXN0CAUJJHQwMzY1NDA5Al8xBAZhbW91bnQIBQkkdDAzNjU0MDkCXzIEB2FpcmRyb3AIBQkkdDAzNjU0MDkCXzMEB2NsYWltZXIIBQkkdDAzNjU0MDkCXzQDCQBnAgAABQZhbW91bnQJAJYKBAUEbGlzdAAABQdhaXJkcm9wBQdjbGFpbWVyBAlhc3NldF9rZXkJAKwCAgkArAICBQdhaXJkcm9wAgNfWF8JANgEAQkAmgMBBQVpbmRleAQIYXNzZXRfaWQJANkEAQkBEUBleHRyTmF0aXZlKDEwNTgpAQUJYXNzZXRfa2V5CQCWCgQJAM4IAgUEbGlzdAkAzAgCCQELRGVsZXRlRW50cnkBBQlhc3NldF9rZXkJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUHY2xhaW1lcgABBQhhc3NldF9pZAUDbmlsCQBlAgUGYW1vdW50AAEFB2FpcmRyb3AFB2NsYWltZXIFAWkBDXdoaXRlbGlzdF9hZGQBBHVzZXIDCQECIT0CBQR0aGlzCAUBaQZjYWxsZXIJAAIBAhhDYWxsZXIgaXMgbm90IGRBcHAgb3duZXIJAJQKAgkAzAgCCQEMQm9vbGVhbkVudHJ5AgkArAICAgJXXwUEdXNlcgYFA25pbAUEdW5pdAFpARB3aGl0ZWxpc3RfcmVtb3ZlAQR1c2VyAwkBAiE9AgUEdGhpcwgFAWkGY2FsbGVyCQACAQIYQ2FsbGVyIGlzIG5vdCBkQXBwIG93bmVyCQCUCgIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICAgJXXwUEdXNlcgUDbmlsBQR1bml0AWkBCXB1dF9hc3NldAEHYWlyZHJvcAMJAQEhAQkBD2NoZWNrX3doaXRlbGlzdAEIBQFpBmNhbGxlcgkAAgECF0NhbGxlciBub3QgaW4gd2hpdGVsaXN0AwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQISV3JvbmcgcGF5bWVudCBzaXplAwkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQAAQkAAgECFFdyb25nIHBheW1lbnQgYW1vdW50BANrZXkJAKwCAgUHYWlyZHJvcAIEX2VuZAQDZW5kBAckbWF0Y2gwCQCfCAEFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWoFByRtYXRjaDAFAWoAAAQCaWQJANgEAQkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFA2tleQkAZAIFA2VuZAABCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQdhaXJkcm9wAgNfWF8JANgEAQkAmgMBBQNlbmQFAmlkBQNuaWwFBHVuaXQBaQEFYWxsb3cDB2FpcmRyb3AHYWNjb3VudAZhbW91bnQDCQEBIQEJAQ9jaGVja193aGl0ZWxpc3QBCAUBaQZjYWxsZXIJAAIBAhdDYWxsZXIgbm90IGluIHdoaXRlbGlzdAMJAGcCAAAFBmFtb3VudAkAAgECDFdyb25nIGFtb3VudAQDa2V5CQCsAgIJAKwCAgUHYWlyZHJvcAIDX0FfBQdhY2NvdW50BAdhbGxvd2VkBAckbWF0Y2gwCQCfCAEFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWoFByRtYXRjaDAFAWoAAAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQNrZXkJAGQCBQdhbGxvd2VkBQZhbW91bnQFA25pbAUEdW5pdAFpAQVjbGFpbQIHYWlyZHJvcAZhbW91bnQECWtfYWxsb3dlZAkArAICCQCsAgIFB2FpcmRyb3ACA19BXwkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBAdhbGxvd2VkCQERQGV4dHJOYXRpdmUoMTA1NSkBBQlrX2FsbG93ZWQDCQBmAgUGYW1vdW50BQdhbGxvd2VkCQACAQIbQ2FsbGVyIG5vdCBhbGxvd2VkIHRvIGNsYWltBAdrX2JlZ2luCQCsAgIFB2FpcmRyb3ACBl9iZWdpbgQFa19lbmQJAKwCAgUHYWlyZHJvcAIEX2VuZAQFYmVnaW4EByRtYXRjaDAJAJ8IAQUHa19iZWdpbgMJAAECBQckbWF0Y2gwAgNJbnQEAWoFByRtYXRjaDAFAWoAAAQDZW5kBAckbWF0Y2gwCQCfCAEFBWtfZW5kAwkAAQIFByRtYXRjaDACA0ludAQBagUHJG1hdGNoMAUBagAAAwMJAGcCAAAFBmFtb3VudAYJAGYCBQZhbW91bnQAFAkAAgECKVdyb25nIGFtb3VudCAoc2hvdWxkIGJlIGluIHJhbmdlIDEgLS0gMjApAwkAZgIFBmFtb3VudAkAZQIFA2VuZAUFYmVnaW4JAAIBAhJObyBhc3NldHMgaW4gc3RvY2sEB2luZGljZXMJAMwIAgUFYmVnaW4JAMwIAgkAZAIFBWJlZ2luAAEJAMwIAgkAZAIFBWJlZ2luAAIJAMwIAgkAZAIFBWJlZ2luAAMJAMwIAgkAZAIFBWJlZ2luAAQJAMwIAgkAZAIFBWJlZ2luAAUJAMwIAgkAZAIFBWJlZ2luAAYJAMwIAgkAZAIFBWJlZ2luAAcJAMwIAgkAZAIFBWJlZ2luAAgJAMwIAgkAZAIFBWJlZ2luAAkJAMwIAgkAZAIFBWJlZ2luAAoJAMwIAgkAZAIFBWJlZ2luAAsJAMwIAgkAZAIFBWJlZ2luAAwJAMwIAgkAZAIFBWJlZ2luAA0JAMwIAgkAZAIFBWJlZ2luAA4JAMwIAgkAZAIFBWJlZ2luAA8JAMwIAgkAZAIFBWJlZ2luABAJAMwIAgkAZAIFBWJlZ2luABEJAMwIAgkAZAIFBWJlZ2luABIJAMwIAgkAZAIFBWJlZ2luABMFA25pbAQLJHQwMzI1ODM0MTEKAAIkbAUHaW5kaWNlcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJYKBAUDbmlsBQZhbW91bnQFB2FpcmRyb3AJAQdBZGRyZXNzAQgIBQFpBmNhbGxlcgVieXRlcwoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKY2xhaW1fZm9sZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMjAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUBARsaXN0CAULJHQwMzI1ODM0MTECXzEEB2Ftb3VudF8IBQskdDAzMjU4MzQxMQJfMgQIYWlyZHJvcF8IBQskdDAzMjU4MzQxMQJfMwQIY2xhaW1lcl8IBQskdDAzMjU4MzQxMQJfNAkAlAoCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIFCWtfYWxsb3dlZAkAZQIFB2FsbG93ZWQFBmFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUHa19iZWdpbgkAZAIFBWJlZ2luBQZhbW91bnQFA25pbAUEbGlzdAUEdW5pdACgVNj5", "height": 3373272, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: C4RVZH5Q2a1myQH3R5UTvwbHQTRZaM4Rg8br246edqC6 Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+func a (b) = if ((this == b))
5+ then true
6+ else {
7+ let c = getBoolean(("W_" + toBase58String(b.bytes)))
8+ if ($isInstanceOf(c, "Boolean"))
9+ then {
10+ let d = c
11+ d
12+ }
13+ else false
14+ }
15+
16+
17+func e (f,g) = {
18+ let h = f
19+ let i = h._1
20+ let j = h._2
21+ let k = h._3
22+ let l = h._4
23+ if ((0 >= j))
24+ then $Tuple4(i, 0, k, l)
25+ else {
26+ let m = ((k + "_X_") + toBase58String(toBytes(g)))
27+ let n = fromBase58String(getStringValue(m))
28+ $Tuple4((i ++ [DeleteEntry(m), ScriptTransfer(l, 1, n)]), (j - 1), k, l)
29+ }
30+ }
31+
32+
33+@Callable(o)
34+func whitelist_add (p) = if ((this != o.caller))
35+ then throw("Caller is not dApp owner")
36+ else $Tuple2([BooleanEntry(("W_" + p), true)], unit)
37+
38+
39+
40+@Callable(o)
41+func whitelist_remove (p) = if ((this != o.caller))
42+ then throw("Caller is not dApp owner")
43+ else $Tuple2([DeleteEntry(("W_" + p))], unit)
44+
45+
46+
47+@Callable(o)
48+func put_asset (k) = if (!(a(o.caller)))
49+ then throw("Caller not in whitelist")
50+ else if ((size(o.payments) != 1))
51+ then throw("Wrong payment size")
52+ else if ((o.payments[0].amount != 1))
53+ then throw("Wrong payment amount")
54+ else {
55+ let q = (k + "_end")
56+ let r = {
57+ let c = getInteger(q)
58+ if ($isInstanceOf(c, "Int"))
59+ then {
60+ let s = c
61+ s
62+ }
63+ else 0
64+ }
65+ let t = toBase58String(value(o.payments[0].assetId))
66+ $Tuple2([IntegerEntry(q, (r + 1)), StringEntry(((k + "_X_") + toBase58String(toBytes(r))), t)], unit)
67+ }
68+
69+
70+
71+@Callable(o)
72+func allow (k,u,j) = if (!(a(o.caller)))
73+ then throw("Caller not in whitelist")
74+ else if ((0 >= j))
75+ then throw("Wrong amount")
76+ else {
77+ let q = ((k + "_A_") + u)
78+ let v = {
79+ let c = getInteger(q)
80+ if ($isInstanceOf(c, "Int"))
81+ then {
82+ let s = c
83+ s
84+ }
85+ else 0
86+ }
87+ $Tuple2([IntegerEntry(q, (v + j))], unit)
88+ }
89+
90+
91+
92+@Callable(o)
93+func claim (k,j) = {
94+ let w = ((k + "_A_") + toBase58String(o.caller.bytes))
95+ let v = getIntegerValue(w)
96+ if ((j > v))
97+ then throw("Caller not allowed to claim")
98+ else {
99+ let x = (k + "_begin")
100+ let y = (k + "_end")
101+ let z = {
102+ let c = getInteger(x)
103+ if ($isInstanceOf(c, "Int"))
104+ then {
105+ let s = c
106+ s
107+ }
108+ else 0
109+ }
110+ let r = {
111+ let c = getInteger(y)
112+ if ($isInstanceOf(c, "Int"))
113+ then {
114+ let s = c
115+ s
116+ }
117+ else 0
118+ }
119+ if (if ((0 >= j))
120+ then true
121+ else (j > 20))
122+ then throw("Wrong amount (should be in range 1 -- 20)")
123+ else if ((j > (r - z)))
124+ then throw("No assets in stock")
125+ else {
126+ let A = [z, (z + 1), (z + 2), (z + 3), (z + 4), (z + 5), (z + 6), (z + 7), (z + 8), (z + 9), (z + 10), (z + 11), (z + 12), (z + 13), (z + 14), (z + 15), (z + 16), (z + 17), (z + 18), (z + 19)]
127+ let B = {
128+ let C = A
129+ let D = size(C)
130+ let E = $Tuple4(nil, j, k, Address(o.caller.bytes))
131+ func F (G,H) = if ((H >= D))
132+ then G
133+ else e(G, C[H])
134+
135+ func I (G,H) = if ((H >= D))
136+ then G
137+ else throw("List size exceeds 20")
138+
139+ I(F(F(F(F(F(F(F(F(F(F(F(F(F(F(F(F(F(F(F(F(E, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
140+ }
141+ let i = B._1
142+ let J = B._2
143+ let K = B._3
144+ let L = B._4
145+ $Tuple2(([IntegerEntry(w, (v - j)), IntegerEntry(x, (z + j))] ++ i), unit)
146+ }
147+ }
148+ }
149+
150+

github/deemru/w8io/873ac7e 
26.50 ms