tx · 3nJkUjxdAteAU7TY77b5Lc8PtxpHnu5wL4SA31XLrt22

3N65ziw5oaWWQHthPW5jzsh9VxjYxHwpv33:  -0.01300000 Waves

2023.02.28 14:24 [2469488] smart account 3N65ziw5oaWWQHthPW5jzsh9VxjYxHwpv33 > SELF 0.00000000 Waves

{ "type": 13, "id": "3nJkUjxdAteAU7TY77b5Lc8PtxpHnu5wL4SA31XLrt22", "fee": 1300000, "feeAssetId": null, "timestamp": 1677583500491, "version": 2, "chainId": 84, "sender": "3N65ziw5oaWWQHthPW5jzsh9VxjYxHwpv33", "senderPublicKey": "5yoY2Atq5TS6YzXkDHGig1DJdaYnWskuGToqK61rQWQd", "proofs": [ "453CC5awaEBwwjqdJUNSKaZYoEJPmomqYFRGT5ot4WuE1dVKs4S9W87ReB6Q8iSNUcBpFKg8rVZfvFAKyH8WCTBo" ], "script": "base64:BgILCAISABIDCgEIEgANARNrZXlJbnZlc3RXeFh0bkRlbGF5AAITJV9faW52ZXN0V3hYdG5EZWxheQEXa2V5SW52ZXN0V3hYdG5BbW91bnRYdG4AAhclX19pbnZlc3RXeFh0bkFtb3VudFh0bgEMa2V5V3hYdG5Qb29sAAIMJV9fd3hYdG5Qb29sAQ1rZXlYdG5Bc3NldElkAAINJV9feHRuQXNzZXRJZAEKa2V5V3hYdG5McAACCiVfX3d4WHRuTHABDmtleUxwVG9BZGRyZXNzAAIOJV9fbHBUb0FkZHJlc3MBE2tleU1hbmFnZXJQdWJsaWNLZXkAAhQlc19fbWFuYWdlclB1YmxpY0tleQEaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAhslc19fcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkBGGtleUludmVzdFd4WHRuTGFzdEhlaWdodAACGCVfX2ludmVzdFd4WHRuTGFzdEhlaWdodAEWbWFuYWdlclB1YmxpY0tleU9yVW5pdAAEByRtYXRjaDAJAKIIAQkBE2tleU1hbmFnZXJQdWJsaWNLZXkAAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkA2QQBBQFzAwkAAQIFByRtYXRjaDACBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgEdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQABAckbWF0Y2gwCQCiCAEJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQDZBAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQh0aHJvd0VycgEDbXNnCQACAQkAuQkCCQDMCAICDmludmVzdG9yLnJpZGU6CQDMCAIFA21zZwUDbmlsAgEgAQttdXN0TWFuYWdlcgEBaQQCcGQJAQh0aHJvd0VycgECEXBlcm1pc3Npb24gZGVuaWVkBAckbWF0Y2gwCQEWbWFuYWdlclB1YmxpY0tleU9yVW5pdAADCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQCcGsFByRtYXRjaDADCQAAAggFAWkPY2FsbGVyUHVibGljS2V5BQJwawYFAnBkAwkAAQIFByRtYXRjaDACBFVuaXQDCQAAAggFAWkGY2FsbGVyBQR0aGlzBgUCcGQJAAIBAgtNYXRjaCBlcnJvcgMBaQELaW52ZXN0V3hYdG4ABAhsYXN0Q2FsbAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEYa2V5SW52ZXN0V3hYdG5MYXN0SGVpZ2h0AAAABAVkZWxheQkBEUBleHRyTmF0aXZlKDEwNTUpAQkBE2tleUludmVzdFd4WHRuRGVsYXkABAZjaGVja3MJAMwIAgMJAGYCBQZoZWlnaHQJAGQCBQhsYXN0Q2FsbAUFZGVsYXkGCQEIdGhyb3dFcnIBAg53YWl0IHRvIGludmVzdAUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzBAlscEFzc2V0SWQJANkEAQkBEUBleHRyTmF0aXZlKDEwNTgpAQkBCmtleVd4WHRuTHAABAhscEJlZm9yZQkA8AcCBQR0aGlzBQlscEFzc2V0SWQDCQAAAgUIbHBCZWZvcmUFCGxwQmVmb3JlBANpbnYJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTgpAQkBDGtleVd4WHRuUG9vbAACCXB1dE9uZVRrbgkAzAgCAAAJAMwIAgcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkA2QQBCQERQGV4dHJOYXRpdmUoMTA1OCkBCQENa2V5WHRuQXNzZXRJZAAJARFAZXh0ck5hdGl2ZSgxMDU1KQEJARdrZXlJbnZlc3RXeFh0bkFtb3VudFh0bgAFA25pbAMJAAACBQNpbnYFA2ludgQHbHBBZnRlcgkA8AcCBQR0aGlzBQlscEFzc2V0SWQDCQAAAgUHbHBBZnRlcgUHbHBBZnRlcgQFbHBHb3QJAGUCBQdscEFmdGVyBQhscEJlZm9yZQQJbm90WmVyb0xwAwkAAAIFBWxwR290AAAJAQh0aHJvd0VycgECEWxwIHRvIGdldCBpcyB6ZXJvBQR1bml0AwkAAAIFCW5vdFplcm9McAUJbm90WmVyb0xwCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEYa2V5SW52ZXN0V3hYdG5MYXN0SGVpZ2h0AAUGaGVpZ2h0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAQ5rZXlMcFRvQWRkcmVzcwAFBWxwR290BQlscEFzc2V0SWQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQpzZXRNYW5hZ2VyARdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQQLY2hlY2tDYWxsZXIJAQttdXN0TWFuYWdlcgEFAWkDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyBBVjaGVja01hbmFnZXJQdWJsaWNLZXkJANkEAQUXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkDCQAAAgUVY2hlY2tNYW5hZ2VyUHVibGljS2V5BRVjaGVja01hbmFnZXJQdWJsaWNLZXkJAMwIAgkBC1N0cmluZ0VudHJ5AgkBGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAUXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ5jb25maXJtTWFuYWdlcgAEAnBtCQEdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQABAVoYXNQTQMJAQlpc0RlZmluZWQBBQJwbQYJAAIBAhJObyBwZW5kaW5nIG1hbmFnZXIDCQAAAgUFaGFzUE0FBWhhc1BNBAdjaGVja1BNAwkAAAIIBQFpD2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCcG0GCQACAQIbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFB2NoZWNrUE0FB2NoZWNrUE0JAMwIAgkBC1N0cmluZ0VudHJ5AgkBE2tleU1hbmFnZXJQdWJsaWNLZXkACQDYBAEJAQV2YWx1ZQEFAnBtCQDMCAIJAQtEZWxldGVFbnRyeQEJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAED3RhcmdldFB1YmxpY0tleQQHJG1hdGNoMAkBFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAnBrBQckbWF0Y2gwBQJwawMJAAECBQckbWF0Y2gwAgRVbml0CAUCdHgPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFD3RhcmdldFB1YmxpY0tlefMjKbM=", "height": 2469488, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: rr6jZmPznQKKAccT35nDiQz8JTSPm2zJ3JmuJToRooh Next: C7YJ5Jd4Sm89gwyG2Pinfr3LKUM57LiAL7XD7eL39g7m Diff:
OldNewDifferences
2222 func g () = "%s__managerPublicKey"
2323
2424
25-func h () = "%__investWxXtnLastHeight"
25+func h () = "%s__pendingManagerPublicKey"
2626
2727
28-func i () = {
29- let j = getString(g())
30- if ($isInstanceOf(j, "String"))
28+func i () = "%__investWxXtnLastHeight"
29+
30+
31+func j () = {
32+ let k = getString(g())
33+ if ($isInstanceOf(k, "String"))
3134 then {
32- let k = j
33- fromBase58String(k)
35+ let l = k
36+ fromBase58String(l)
3437 }
35- else if ($isInstanceOf(j, "Unit"))
38+ else if ($isInstanceOf(k, "Unit"))
3639 then unit
3740 else throw("Match error")
3841 }
3942
4043
41-func l (m) = throw(makeString(["investor.ride:", m], " "))
44+func m () = {
45+ let k = getString(h())
46+ if ($isInstanceOf(k, "String"))
47+ then {
48+ let l = k
49+ fromBase58String(l)
50+ }
51+ else if ($isInstanceOf(k, "Unit"))
52+ then unit
53+ else throw("Match error")
54+ }
4255
4356
44-@Callable(n)
57+func n (o) = throw(makeString(["investor.ride:", o], " "))
58+
59+
60+func p (q) = {
61+ let r = n("permission denied")
62+ let k = j()
63+ if ($isInstanceOf(k, "ByteVector"))
64+ then {
65+ let s = k
66+ if ((q.callerPublicKey == s))
67+ then true
68+ else r
69+ }
70+ else if ($isInstanceOf(k, "Unit"))
71+ then if ((q.caller == this))
72+ then true
73+ else r
74+ else throw("Match error")
75+ }
76+
77+
78+@Callable(q)
4579 func investWxXtn () = {
46- let o = valueOrElse(getInteger(h()), 0)
47- let p = getIntegerValue(a())
48- let q = [if ((height > (o + p)))
80+ let t = valueOrElse(getInteger(i()), 0)
81+ let u = getIntegerValue(a())
82+ let v = [if ((height > (t + u)))
4983 then true
50- else l("wait to invest")]
51- if ((q == q))
84+ else n("wait to invest")]
85+ if ((v == v))
5286 then {
53- let r = fromBase58String(getStringValue(e()))
54- let s = assetBalance(this, r)
55- if ((s == s))
87+ let w = fromBase58String(getStringValue(e()))
88+ let x = assetBalance(this, w)
89+ if ((x == x))
5690 then {
57- let t = invoke(addressFromStringValue(getStringValue(c())), "putOneTkn", [0, false], [AttachedPayment(fromBase58String(getStringValue(d())), getIntegerValue(b()))])
58- if ((t == t))
91+ let y = invoke(addressFromStringValue(getStringValue(c())), "putOneTkn", [0, false], [AttachedPayment(fromBase58String(getStringValue(d())), getIntegerValue(b()))])
92+ if ((y == y))
5993 then {
60- let u = assetBalance(this, r)
61- if ((u == u))
94+ let z = assetBalance(this, w)
95+ if ((z == z))
6296 then {
63- let v = (u - s)
64- let w = if ((v == 0))
65- then l("lp to get is zero")
97+ let A = (z - x)
98+ let B = if ((A == 0))
99+ then n("lp to get is zero")
66100 else unit
67- if ((w == w))
68- then [IntegerEntry(h(), height), ScriptTransfer(addressFromStringValue(getStringValue(f())), v, r)]
101+ if ((B == B))
102+ then [IntegerEntry(i(), height), ScriptTransfer(addressFromStringValue(getStringValue(f())), A, w)]
69103 else throw("Strict value is not equal to itself.")
70104 }
71105 else throw("Strict value is not equal to itself.")
78112 }
79113
80114
81-@Verifier(x)
82-func y () = {
83- let z = {
84- let j = i()
85- if ($isInstanceOf(j, "ByteVector"))
115+
116+@Callable(q)
117+func setManager (C) = {
118+ let D = p(q)
119+ if ((D == D))
120+ then {
121+ let E = fromBase58String(C)
122+ if ((E == E))
123+ then [StringEntry(h(), C)]
124+ else throw("Strict value is not equal to itself.")
125+ }
126+ else throw("Strict value is not equal to itself.")
127+ }
128+
129+
130+
131+@Callable(q)
132+func confirmManager () = {
133+ let F = m()
134+ let G = if (isDefined(F))
135+ then true
136+ else throw("No pending manager")
137+ if ((G == G))
138+ then {
139+ let H = if ((q.callerPublicKey == value(F)))
140+ then true
141+ else throw("You are not pending manager")
142+ if ((H == H))
143+ then [StringEntry(g(), toBase58String(value(F))), DeleteEntry(h())]
144+ else throw("Strict value is not equal to itself.")
145+ }
146+ else throw("Strict value is not equal to itself.")
147+ }
148+
149+
150+@Verifier(I)
151+func J () = {
152+ let K = {
153+ let k = j()
154+ if ($isInstanceOf(k, "ByteVector"))
86155 then {
87- let A = j
88- A
156+ let s = k
157+ s
89158 }
90- else if ($isInstanceOf(j, "Unit"))
91- then x.senderPublicKey
159+ else if ($isInstanceOf(k, "Unit"))
160+ then I.senderPublicKey
92161 else throw("Match error")
93162 }
94- sigVerify(x.bodyBytes, x.proofs[0], z)
163+ sigVerify(I.bodyBytes, I.proofs[0], K)
95164 }
96165
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a () = "%__investWxXtnDelay"
55
66
77 func b () = "%__investWxXtnAmountXtn"
88
99
1010 func c () = "%__wxXtnPool"
1111
1212
1313 func d () = "%__xtnAssetId"
1414
1515
1616 func e () = "%__wxXtnLp"
1717
1818
1919 func f () = "%__lpToAddress"
2020
2121
2222 func g () = "%s__managerPublicKey"
2323
2424
25-func h () = "%__investWxXtnLastHeight"
25+func h () = "%s__pendingManagerPublicKey"
2626
2727
28-func i () = {
29- let j = getString(g())
30- if ($isInstanceOf(j, "String"))
28+func i () = "%__investWxXtnLastHeight"
29+
30+
31+func j () = {
32+ let k = getString(g())
33+ if ($isInstanceOf(k, "String"))
3134 then {
32- let k = j
33- fromBase58String(k)
35+ let l = k
36+ fromBase58String(l)
3437 }
35- else if ($isInstanceOf(j, "Unit"))
38+ else if ($isInstanceOf(k, "Unit"))
3639 then unit
3740 else throw("Match error")
3841 }
3942
4043
41-func l (m) = throw(makeString(["investor.ride:", m], " "))
44+func m () = {
45+ let k = getString(h())
46+ if ($isInstanceOf(k, "String"))
47+ then {
48+ let l = k
49+ fromBase58String(l)
50+ }
51+ else if ($isInstanceOf(k, "Unit"))
52+ then unit
53+ else throw("Match error")
54+ }
4255
4356
44-@Callable(n)
57+func n (o) = throw(makeString(["investor.ride:", o], " "))
58+
59+
60+func p (q) = {
61+ let r = n("permission denied")
62+ let k = j()
63+ if ($isInstanceOf(k, "ByteVector"))
64+ then {
65+ let s = k
66+ if ((q.callerPublicKey == s))
67+ then true
68+ else r
69+ }
70+ else if ($isInstanceOf(k, "Unit"))
71+ then if ((q.caller == this))
72+ then true
73+ else r
74+ else throw("Match error")
75+ }
76+
77+
78+@Callable(q)
4579 func investWxXtn () = {
46- let o = valueOrElse(getInteger(h()), 0)
47- let p = getIntegerValue(a())
48- let q = [if ((height > (o + p)))
80+ let t = valueOrElse(getInteger(i()), 0)
81+ let u = getIntegerValue(a())
82+ let v = [if ((height > (t + u)))
4983 then true
50- else l("wait to invest")]
51- if ((q == q))
84+ else n("wait to invest")]
85+ if ((v == v))
5286 then {
53- let r = fromBase58String(getStringValue(e()))
54- let s = assetBalance(this, r)
55- if ((s == s))
87+ let w = fromBase58String(getStringValue(e()))
88+ let x = assetBalance(this, w)
89+ if ((x == x))
5690 then {
57- let t = invoke(addressFromStringValue(getStringValue(c())), "putOneTkn", [0, false], [AttachedPayment(fromBase58String(getStringValue(d())), getIntegerValue(b()))])
58- if ((t == t))
91+ let y = invoke(addressFromStringValue(getStringValue(c())), "putOneTkn", [0, false], [AttachedPayment(fromBase58String(getStringValue(d())), getIntegerValue(b()))])
92+ if ((y == y))
5993 then {
60- let u = assetBalance(this, r)
61- if ((u == u))
94+ let z = assetBalance(this, w)
95+ if ((z == z))
6296 then {
63- let v = (u - s)
64- let w = if ((v == 0))
65- then l("lp to get is zero")
97+ let A = (z - x)
98+ let B = if ((A == 0))
99+ then n("lp to get is zero")
66100 else unit
67- if ((w == w))
68- then [IntegerEntry(h(), height), ScriptTransfer(addressFromStringValue(getStringValue(f())), v, r)]
101+ if ((B == B))
102+ then [IntegerEntry(i(), height), ScriptTransfer(addressFromStringValue(getStringValue(f())), A, w)]
69103 else throw("Strict value is not equal to itself.")
70104 }
71105 else throw("Strict value is not equal to itself.")
72106 }
73107 else throw("Strict value is not equal to itself.")
74108 }
75109 else throw("Strict value is not equal to itself.")
76110 }
77111 else throw("Strict value is not equal to itself.")
78112 }
79113
80114
81-@Verifier(x)
82-func y () = {
83- let z = {
84- let j = i()
85- if ($isInstanceOf(j, "ByteVector"))
115+
116+@Callable(q)
117+func setManager (C) = {
118+ let D = p(q)
119+ if ((D == D))
120+ then {
121+ let E = fromBase58String(C)
122+ if ((E == E))
123+ then [StringEntry(h(), C)]
124+ else throw("Strict value is not equal to itself.")
125+ }
126+ else throw("Strict value is not equal to itself.")
127+ }
128+
129+
130+
131+@Callable(q)
132+func confirmManager () = {
133+ let F = m()
134+ let G = if (isDefined(F))
135+ then true
136+ else throw("No pending manager")
137+ if ((G == G))
138+ then {
139+ let H = if ((q.callerPublicKey == value(F)))
140+ then true
141+ else throw("You are not pending manager")
142+ if ((H == H))
143+ then [StringEntry(g(), toBase58String(value(F))), DeleteEntry(h())]
144+ else throw("Strict value is not equal to itself.")
145+ }
146+ else throw("Strict value is not equal to itself.")
147+ }
148+
149+
150+@Verifier(I)
151+func J () = {
152+ let K = {
153+ let k = j()
154+ if ($isInstanceOf(k, "ByteVector"))
86155 then {
87- let A = j
88- A
156+ let s = k
157+ s
89158 }
90- else if ($isInstanceOf(j, "Unit"))
91- then x.senderPublicKey
159+ else if ($isInstanceOf(k, "Unit"))
160+ then I.senderPublicKey
92161 else throw("Match error")
93162 }
94- sigVerify(x.bodyBytes, x.proofs[0], z)
163+ sigVerify(I.bodyBytes, I.proofs[0], K)
95164 }
96165

github/deemru/w8io/873ac7e 
48.20 ms