tx · CN7vNQF15aMo3AVCcDXc9jFpVodJqJMHvvYAUkz5MCd1

3P2ZpdHdm8cpi7oS2dBPiLVo21ryZm6DDkH:  -0.01400000 Waves

2022.01.20 17:45 [2952480] smart account 3P2ZpdHdm8cpi7oS2dBPiLVo21ryZm6DDkH > SELF 0.00000000 Waves

{ "type": 13, "id": "CN7vNQF15aMo3AVCcDXc9jFpVodJqJMHvvYAUkz5MCd1", "fee": 1400000, "feeAssetId": null, "timestamp": 1642689893710, "version": 2, "chainId": 87, "sender": "3P2ZpdHdm8cpi7oS2dBPiLVo21ryZm6DDkH", "senderPublicKey": "Bb5dk4R8sczo5DEiiL3sk5CG35EZbNWQHX2tc7sx31P7", "proofs": [ "4dFVZm3SApGZU4bt3pY5goXSxKZHWviy9ntSJ1B8X1bYqhMqfDn8iAMF62TzRQ9UzkS89ozDW8vCnkK7ERVQ6HJw", "3kkcbd3bbjDVT3ptrABAkJho8w9oS24ZToYN3ogReaXcX8bY85MYBFeHXhkouBaJ42QY4WMGiypHga7QmoRyNQoW", "AFAiRc8GBjqRZX2uc4LyEBCkX3pbCNWMhu5r68zG9nC9oYJpGMcZ9WbK3wfcfdWs5D114Qz4dfeTmCpL6HFUMVA" ], "script": "base64:AAIFAAAAAAAAACIIAhIAGgYKAWESAWkaBwoBYhICdHgaCwoBYxIGdmVyaWZ5AAAAAAAAAAEAAAABYQEAAAAEY2FsbAAAAAAJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQIAAABfM1A4MURCUnlYOWc1WXZwNUp3YkZVQ2lmQ0VhQ0pLTll3SDNfN0taYkpyVm9wd0poa2R3YmUxZUZEQmJleDRka1k2M014alROanFYdHJ6ajFfd3hiX2FsbG9jYXRpb24JAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQIAAAArM1A4MURCUnlYOWc1WXZwNUp3YkZVQ2lmQ0VhQ0pLTll3SDNfYXNzZXRJZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABAgAAAC8zUDgxREJSeVg5ZzVZdnA1SndiRlVDaWZDRWFDSktOWXdIM193aGl0ZWxpc3RlZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABAgAAAF8zUDhDcDlRWkJNb2RMcTV0cFhCdWZaTlROOFhLZXRkaHdVcl84V2hINUNDSjZOYWtQdkV2QUpjaXpxcUQ3SDZheGh1cGRZSERGdW1TRHdzeV93eGJfYWxsb2NhdGlvbgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABAgAAACszUDhDcDlRWkJNb2RMcTV0cFhCdWZaTlROOFhLZXRkaHdVcl9hc3NldElkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAECAAAALzNQOENwOVFaQk1vZExxNXRwWEJ1ZlpOVE44WEtldGRod1VyX3doaXRlbGlzdGVkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAECAAAAXzNQOGhEWkVQRW1pWmc2dVN6VEpFeUZ0SDFDclNkZlpaREZmXzZndGdCRDEyeFprVVRuekdvZm9GSnBNZzVnWUcxRlA2UGFHeUx2aVZRamJoX3d4Yl9hbGxvY2F0aW9uCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAECAAAAKzNQOGhEWkVQRW1pWmc2dVN6VEpFeUZ0SDFDclNkZlpaREZmX2Fzc2V0SWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQIAAAAvM1A4aERaRVBFbWlaZzZ1U3pUSkV5RnRIMUNyU2RmWlpERmZfd2hpdGVsaXN0ZWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQIAAABfM1BIWkNxdlA0SGFzN2VnWWVieWtaTXRHVXNyRXlNWWJNYWNfRjJBS2tBNTEzazV5SEVKa0xzVTZ2V3hDWVlrODExR3BqTGh3RXYyV0d3Wjlfd3hiX2FsbG9jYXRpb24JAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQIAAAArM1BIWkNxdlA0SGFzN2VnWWVieWtaTXRHVXNyRXlNWWJNYWNfYXNzZXRJZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABAgAAAC8zUEhaQ3F2UDRIYXM3ZWdZZWJ5a1pNdEdVc3JFeU1ZYk1hY193aGl0ZWxpc3RlZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABAgAAAFgzUFEyRnFIazRmUGZwY29GMnFmUUFUR1ZQc2d4d2dQVHNxb185N3pIRnAxQzNjQjdxZnZ4OFh2NWYycldwOW5VU0c1VW5BYW1mUGNXNnR4Zl9iYWxhbmNlCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAECAAAAXzNQUTJGcUhrNGZQZnBjb0YycWZRQVRHVlBzZ3h3Z1BUc3FvXzk3ekhGcDFDM2NCN3Fmdng4WHY1ZjJyV3A5blVTRzVVbkFhbWZQY1c2dHhmX3d4Yl9hbGxvY2F0aW9uCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAECAAAAKzNQUTJGcUhrNGZQZnBjb0YycWZRQVRHVlBzZ3h3Z1BUc3FvX2Fzc2V0SWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQIAAAAvM1BRMkZxSGs0ZlBmcGNvRjJxZlFBVEdWUHNneHdnUFRzcW9fd2hpdGVsaXN0ZWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQIAAAADZmVlCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAECAAAAC2luaXRpYWxpemVkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAECAAAAHGl0X2FsbF9zdGFydGVkX2luX3RoaXNfYmxvY2sJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQIAAAANbG9ja19kdXJhdGlvbgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABAgAAAA90b3RhbF9sb2NrZWRfd3gFAAAAA25pbAAAAAEAAAABYgEAAAABYwAAAAAJAAH0AAAAAwgFAAAAAWIAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAFiAAAABnByb29mcwAAAAAAAAAAAAgFAAAAAWIAAAAPc2VuZGVyUHVibGljS2V5hfl8sw==", "height": 2952480, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: G6kVMsA5qBtvDJapoJjCqiCzoq4V1grMbnDaTdVsmrXo Next: 8MaJsTRbuChq8u7uSf3kvecvU2kJ8JJu3jS2FGV6wEFr Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = Address(base58'3PPNhHYkkEy13gRWDCaruQyhNbX2GrjYSyV')
5-
6-let b = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
7-
8-let c = base58'BbP9tmd5Zxk345y9zipXkYaqDfxDG1suTj64eJmy1BAT'
9-
10-let d = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
11-
12-let e = Address(base58'3PJL8Hn8LACaSBWLQ3UVhctA5cTQLBFwBAP')
13-
14-let f = base58'8CPfYYUFZvLwMYqdhtwKnrQMAAnWiVakm3mf8MRGKtzN'
15-
16-let g = base58'Aa5tsh5uzQYAYpDYswmQko1c79PSYLrGbwRZ5sBViNx5'
17-
18-let h = base58'mTQL3HhYMeLQCe34H45YtLjbQeg5QyZJ5EPyU8An8jj'
19-
20-let i = base58'HrzjFpn3V1Y5bB8r3JKGgR6qWUixJxuvToFXGJ4WDQu9'
21-
22-@Callable(j)
23-func stakeLP () = {
24- let k = toString(j.caller)
25- let l = valueOrElse(getBoolean((k + "_whitelisted")), false)
26- let m = valueOrElse(getString((k + "_assetId")), "")
27- if (if (if (if (l)
28- then (size(j.payments) == 1)
29- else false)
30- then (j.payments[0].amount > 0)
31- else false)
32- then (j.payments[0].assetId == fromBase58String(m))
33- else false)
34- then {
35- let n = invoke(a, "stake", nil, [AttachedPayment(j.payments[0].assetId, j.payments[0].amount)])
36- if ((n == n))
37- then {
38- let o = (valueOrElse(getInteger((((k + "_") + m) + "_balance")), 0) + j.payments[0].amount)
39- $Tuple2([IntegerEntry((((k + "_") + m) + "_balance"), o)], unit)
40- }
41- else throw("Strict value is not equal to itself.")
42- }
43- else throw("")
44- }
454
465
47-
48-@Callable(j)
49-func unstakeLP (p) = {
50- let k = toString(j.caller)
51- let l = valueOrElse(getBoolean((k + "_whitelisted")), false)
52- if (l)
53- then {
54- let m = valueOrElse(getString((k + "_assetId")), "")
55- let q = invoke(a, "unstake", [m, p], nil)
56- if ((q == q))
57- then {
58- let o = (valueOrElse(getInteger((((k + "_") + m) + "_balance")), 0) - p)
59- $Tuple2([ScriptTransfer(j.caller, p, fromBase58String(m)), IntegerEntry((((k + "_") + m) + "_balance"), o)], unit)
60- }
61- else throw("Strict value is not equal to itself.")
62- }
63- else throw("")
64- }
6+@Callable(a)
7+func call () = [DeleteEntry("3P81DBRyX9g5Yvp5JwbFUCifCEaCJKNYwH3_7KZbJrVopwJhkdwbe1eFDBbex4dkY63MxjTNjqXtrzj1_wxb_allocation"), DeleteEntry("3P81DBRyX9g5Yvp5JwbFUCifCEaCJKNYwH3_assetId"), DeleteEntry("3P81DBRyX9g5Yvp5JwbFUCifCEaCJKNYwH3_whitelisted"), DeleteEntry("3P8Cp9QZBModLq5tpXBufZNTN8XKetdhwUr_8WhH5CCJ6NakPvEvAJcizqqD7H6axhupdYHDFumSDwsy_wxb_allocation"), DeleteEntry("3P8Cp9QZBModLq5tpXBufZNTN8XKetdhwUr_assetId"), DeleteEntry("3P8Cp9QZBModLq5tpXBufZNTN8XKetdhwUr_whitelisted"), DeleteEntry("3P8hDZEPEmiZg6uSzTJEyFtH1CrSdfZZDFf_6gtgBD12xZkUTnzGofoFJpMg5gYG1FP6PaGyLviVQjbh_wxb_allocation"), DeleteEntry("3P8hDZEPEmiZg6uSzTJEyFtH1CrSdfZZDFf_assetId"), DeleteEntry("3P8hDZEPEmiZg6uSzTJEyFtH1CrSdfZZDFf_whitelisted"), DeleteEntry("3PHZCqvP4Has7egYebykZMtGUsrEyMYbMac_F2AKkA513k5yHEJkLsU6vWxCYYk811GpjLhwEv2WGwZ9_wxb_allocation"), DeleteEntry("3PHZCqvP4Has7egYebykZMtGUsrEyMYbMac_assetId"), DeleteEntry("3PHZCqvP4Has7egYebykZMtGUsrEyMYbMac_whitelisted"), DeleteEntry("3PQ2FqHk4fPfpcoF2qfQATGVPsgxwgPTsqo_97zHFp1C3cB7qfvx8Xv5f2rWp9nUSG5UnAamfPcW6txf_balance"), DeleteEntry("3PQ2FqHk4fPfpcoF2qfQATGVPsgxwgPTsqo_97zHFp1C3cB7qfvx8Xv5f2rWp9nUSG5UnAamfPcW6txf_wxb_allocation"), DeleteEntry("3PQ2FqHk4fPfpcoF2qfQATGVPsgxwgPTsqo_assetId"), DeleteEntry("3PQ2FqHk4fPfpcoF2qfQATGVPsgxwgPTsqo_whitelisted"), DeleteEntry("fee"), DeleteEntry("initialized"), DeleteEntry("it_all_started_in_this_block"), DeleteEntry("lock_duration"), DeleteEntry("total_locked_wx")]
658
669
67-
68-@Callable(j)
69-func claim () = {
70- let k = toString(j.caller)
71- let l = valueOrElse(getBoolean((k + "_whitelisted")), false)
72- if (l)
73- then {
74- let m = valueOrElse(getString((k + "_assetId")), "")
75- let r = assetBalance(this, b)
76- if ((r == r))
77- then {
78- let s = invoke(a, "claimWx", [m], nil)
79- if ((s == s))
80- then {
81- let t = (assetBalance(this, b) - r)
82- if ((t == t))
83- then {
84- let u = (valueOrElse(getInteger((((k + "_") + m) + "_total_claimed_wx")), 0) + t)
85- let v = (valueOrElse(getInteger(this, "total_claimed_wx"), 0) + t)
86- let w = getIntegerValue(this, "fee")
87- let x = fraction(t, w, 100)
88- let y = (valueOrElse(getInteger((((k + "_") + m) + "_total_collected_fee")), 0) + x)
89- let z = (valueOrElse(getInteger("total_collected_fee"), 0) + x)
90- let A = invoke(e, "increaseLock", [0], [AttachedPayment(b, x)])
91- if ((A == A))
92- then {
93- let B = (valueOrElse(getInteger("total_locked_wx"), 0) + x)
94- let C = valueOrElse(getInteger((((k + "_") + m) + "_wxb_allocation")), 0)
95- let D = (valueOrElse(getInteger((((k + "_") + m) + "_total_claimed_wxb")), 0) + C)
96- let E = (valueOrElse(getInteger("total_claimed_wxb"), 0) + C)
97- $Tuple2([ScriptTransfer(j.caller, (t - x), b), ScriptTransfer(j.caller, C, c), IntegerEntry("total_locked_wx", B), IntegerEntry((((k + "_") + m) + "_total_claimed_wx"), u), IntegerEntry("total_claimed_wx", v), IntegerEntry((((k + "_") + m) + "_total_claimed_wxb"), u), IntegerEntry("total_claimed_wxb", E), IntegerEntry((((k + "_") + m) + "_total_collected_fee"), y), IntegerEntry("total_collected_fee", z)], unit)
98- }
99- else throw("Strict value is not equal to itself.")
100- }
101- else throw("Strict value is not equal to itself.")
102- }
103- else throw("Strict value is not equal to itself.")
104- }
105- else throw("Strict value is not equal to itself.")
106- }
107- else throw("")
108- }
109-
110-
111-
112-@Callable(j)
113-func init () = {
114- let F = valueOrElse(getBoolean("initialized"), false)
115- if (!(F))
116- then {
117- let G = invoke(e, "lock", [2102400], [AttachedPayment(j.payments[0].assetId, j.payments[0].amount)])
118- if ((G == G))
119- then $Tuple2([BooleanEntry("initialized", true), IntegerEntry("it_all_started_in_this_block", height), IntegerEntry("total_locked_wx", j.payments[0].amount), IntegerEntry("lock_duration", (2102400 + height)), IntegerEntry("fee", 10)], unit)
120- else throw("Strict value is not equal to itself.")
121- }
122- else throw("")
123- }
124-
125-
126-
127-@Callable(j)
128-func setFee (x) = if ((j.caller == this))
129- then $Tuple2([IntegerEntry("fee", x)], unit)
130- else throw("")
131-
132-
133-
134-@Callable(j)
135-func whitelist (H,I,J) = if ((j.caller == this))
136- then $Tuple2([BooleanEntry((H + "_whitelisted"), true), StringEntry((H + "_assetId"), I), IntegerEntry((((H + "_") + I) + "_wxb_allocation"), J)], unit)
137- else throw("")
138-
139-
140-
141-@Callable(j)
142-func setAllocation (p,H,I) = if (containsElement([f, g, h, i], j.callerPublicKey))
143- then [IntegerEntry((((H + "_") + I) + "_wxb_allocation"), p)]
144- else throw("")
145-
146-
147-
148-@Callable(j)
149-func giveaway () = {
150- let k = toString(j.caller)
151- let l = valueOrElse(getBoolean((k + "_whitelisted")), false)
152- if (if (if (if (l)
153- then (size(j.payments) == 1)
154- else false)
155- then (j.payments[0].assetId == d)
156- else false)
157- then (j.payments[0].amount > 0)
158- else false)
159- then {
160- let A = invoke(e, "increaseLock", [0], [AttachedPayment(d, j.payments[0].amount)])
161- if ((A == A))
162- then {
163- let B = (valueOrElse(getInteger("total_locked_wx"), 0) + j.payments[0].amount)
164- let K = (valueOrElse(getInteger("total_giveaway_wx"), 0) + j.payments[0].amount)
165- $Tuple2([IntegerEntry("total_locked_wx", B), IntegerEntry("total_giveaway_wx", K)], unit)
166- }
167- else throw("Strict value is not equal to itself.")
168- }
169- else throw("")
170- }
171-
172-
173-
174-@Callable(j)
175-func increaseLockDuration (L) = if (containsElement([f, g, h, i], j.callerPublicKey))
176- then {
177- let M = invoke(e, "increaseLock", [L], nil)
178- if ((M == M))
179- then {
180- let N = (getIntegerValue("lock_duration") + L)
181- $Tuple2([IntegerEntry("lock_duration", N)], unit)
182- }
183- else throw("Strict value is not equal to itself.")
184- }
185- else throw("")
186-
187-
188-@Verifier(O)
189-func P () = {
190- let Q = if (sigVerify(O.bodyBytes, O.proofs[0], f))
191- then 1
192- else 0
193- let R = if (sigVerify(O.bodyBytes, O.proofs[1], g))
194- then 1
195- else 0
196- let S = if (sigVerify(O.bodyBytes, O.proofs[2], h))
197- then 1
198- else 0
199- let T = if (sigVerify(O.bodyBytes, O.proofs[3], i))
200- then 1
201- else 0
202- ((((Q + R) + S) + T) >= 3)
203- }
10+@Verifier(b)
11+func c () = sigVerify(b.bodyBytes, b.proofs[0], b.senderPublicKey)
20412

github/deemru/w8io/3ef1775 
34.56 ms