tx · BkfyGK3pZkEeWk3LYDiZeTbQtcZqCtekwit6mzWuE4WK

3MyBtJnMg6n7m1sDczbrijVyosLnRh4FFbc:  -0.01000000 Waves

2022.05.25 13:47 [2067116] smart account 3MyBtJnMg6n7m1sDczbrijVyosLnRh4FFbc > SELF 0.00000000 Waves

{ "type": 13, "id": "BkfyGK3pZkEeWk3LYDiZeTbQtcZqCtekwit6mzWuE4WK", "fee": 1000000, "feeAssetId": null, "timestamp": 1653475679383, "version": 2, "chainId": 84, "sender": "3MyBtJnMg6n7m1sDczbrijVyosLnRh4FFbc", "senderPublicKey": "H3EzJ6fSm7jHKo92xYdNTXaaQYKj9z5q2DJFovRDLJpf", "proofs": [ "ubEjJCsJRCU93V5E8U6bn2ofXr1GphjB2cBucX9UjveaveJ4ZB3fGCCvn1kzr4P92tCGXSSZJUmhpVf42AQzjDo" ], "script": "base64:AAIFAAAAAAAAABMIAhIECgIICBIECgIIARIDCgEIAAAACQAAAAADU0VQAgAAAAJfXwEAAAARa2V5Q29udHJvbEFkZHJlc3MAAAAAAgAAABwlcyVzX19jb25maWdfX2NvbnRyb2xBZGRyZXNzAQAAAA5rZXlSZXN0QWRkcmVzcwAAAAACAAAAGSVzJXNfX2NvbmZpZ19fcmVzdEFkZHJlc3MBAAAADGdldFN0ck9yRmFpbAAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5CQABLAAAAAIJAAEsAAAAAgIAAAAPTWFuZGF0b3J5IHRoaXMuBQAAAANrZXkCAAAADyBpcyBub3QgZGVmaW5lZAEAAAAQZ2V0QWRkcmVzc09yRmFpbAAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkBAAAADGdldFN0ck9yRmFpbAAAAAEFAAAAA2tleQkAASwAAAACAgAAAB9mYWlsIHRvIHBhcnNlIGFkZHJlc3MgZm9yIHRoaXMuBQAAAANrZXkBAAAACGFzU3RyaW5nAAAAAQAAAAN2YWwEAAAAByRtYXRjaDAFAAAAA3ZhbAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAZ2YWxTdHIFAAAAByRtYXRjaDAFAAAABnZhbFN0cgkAAAIAAAABAgAAABhmYWlsIHRvIGNhc3QgaW50byBTdHJpbmcBAAAAC3Byb2R1Y2VKc29uAAAAAQAAAAZzdHJNYXAEAAAAB2luZGV4ZXMJAARMAAAAAgAAAAAAAAAAAAkABEwAAAACAAAAAAAAAAABCQAETAAAAAIAAAAAAAAAAAIJAARMAAAAAgAAAAAAAAAAAwkABEwAAAACAAAAAAAAAAAECQAETAAAAAIAAAAAAAAAAAUJAARMAAAAAgAAAAAAAAAABgkABEwAAAACAAAAAAAAAAAHCQAETAAAAAIAAAAAAAAAAAgJAARMAAAAAgAAAAAAAAAACQkABEwAAAACAAAAAAAAAAAKCQAETAAAAAIAAAAAAAAAAAsJAARMAAAAAgAAAAAAAAAADAkABEwAAAACAAAAAAAAAAANCQAETAAAAAIAAAAAAAAAAA4JAARMAAAAAgAAAAAAAAAADwkABEwAAAACAAAAAAAAAAAQCQAETAAAAAIAAAAAAAAAABEJAARMAAAAAgAAAAAAAAAAEgkABEwAAAACAAAAAAAAAAATBQAAAANuaWwEAAAABmxlbmd0aAkAAZAAAAABBQAAAAZzdHJNYXADCQEAAAACIT0AAAACCQAAagAAAAIFAAAABmxlbmd0aAAAAAAAAAAAAgAAAAAAAAAAAAkAAAIAAAABAgAAACBvbmx5IGV2ZW4gYXJncyBzaXplIGlzIGFjY2VwZXRlZAMJAABmAAAAAgUAAAAGbGVuZ3RoCQABkAAAAAEFAAAAB2luZGV4ZXMJAAACAAAAAQkAASwAAAACAgAAAB5zdHJNYXAgbGVuZ3RoIGlzIGdyZWF0ZXIgdGhlbiAJAAGkAAAAAQkAAZAAAAABBQAAAAdpbmRleGVzCgEAAAALcHJvZHVjZUpzb24AAAACAAAACWpzb25BY2N1bQAAAAduZXh0SWR4AwMJAAAAAAAAAgkAAGoAAAACBQAAAAduZXh0SWR4AAAAAAAAAAACAAAAAAAAAAAACQAAZwAAAAIFAAAABmxlbmd0aAkAAGQAAAACBQAAAAduZXh0SWR4AAAAAAAAAAABBwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACWpzb25BY2N1bQIAAAACCiIJAAGRAAAAAgUAAAAGc3RyTWFwBQAAAAduZXh0SWR4AgAAAAQiOiAiCQABkQAAAAIFAAAABnN0ck1hcAkAAGQAAAACBQAAAAduZXh0SWR4AAAAAAAAAAABAgAAAAIiLAUAAAAJanNvbkFjY3VtBAAAAA1wcmVKc29uUmVzdWx0CgAAAAACJGwFAAAAB2luZGV4ZXMKAAAAAAIkcwkAAZAAAAABBQAAAAIkbAoAAAAABSRhY2MwAgAAAAAKAQAAAAUkZjBfMQAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAQAAAAtwcm9kdWNlSnNvbgAAAAIFAAAAAiRhCQABkQAAAAIFAAAAAiRsBQAAAAIkaQoBAAAABSRmMF8yAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABRMaXN0IHNpemUgZXhjZWVkcyAyMAkBAAAABSRmMF8yAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgUAAAAFJGFjYzAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAYAAAAAAAAAAAcAAAAAAAAAAAgAAAAAAAAAAAkAAAAAAAAAAAoAAAAAAAAAAAsAAAAAAAAAAAwAAAAAAAAAAA0AAAAAAAAAAA4AAAAAAAAAAA8AAAAAAAAAABAAAAAAAAAAABEAAAAAAAAAABIAAAAAAAAAABMAAAAAAAAAABQJAAEsAAAAAgkAASwAAAACAgAAAAF7CQEAAAAJZHJvcFJpZ2h0AAAAAgUAAAANcHJlSnNvblJlc3VsdAAAAAAAAAAAAQIAAAABfQAAAAAKY29udHJvbEFjYwkBAAAAEGdldEFkZHJlc3NPckZhaWwAAAABCQEAAAARa2V5Q29udHJvbEFkZHJlc3MAAAAAAAAAAAdyZXN0QWNjCQEAAAAQZ2V0QWRkcmVzc09yRmFpbAAAAAEJAQAAAA5rZXlSZXN0QWRkcmVzcwAAAAAAAAADAAAAAWkBAAAAC2NvbnN0cnVjdG9yAAAAAgAAABBjb250cm9sQWRkcmVzczU4AAAADXJlc3RBZGRyZXNzNTgDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAACAAAAAQIAAAAObm90IGF1dGhvcml6ZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEWtleUNvbnRyb2xBZGRyZXNzAAAAAAUAAAAQY29udHJvbEFkZHJlc3M1OAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAOa2V5UmVzdEFkZHJlc3MAAAAABQAAAA1yZXN0QWRkcmVzczU4BQAAAANuaWwAAAABaQEAAAAVc3Rha2VOc2J0UGFnZVJFQURPTkxZAAAAAgAAABF1c2VyQWRkcmVzc1N0ck9wdAAAAAtuc2J0QW10RGlmZgQAAAAJZ25zYnRJbmZvCQEAAAAIYXNTdHJpbmcAAAABCQAD/AAAAAQFAAAAB3Jlc3RBY2MCAAAAEWduc2J0SW5mb1JFQURPTkxZCQAETAAAAAIFAAAAEXVzZXJBZGRyZXNzU3RyT3B0CQAETAAAAAIFAAAAC25zYnRBbXREaWZmBQAAAANuaWwFAAAAA25pbAQAAAAIc3dhcEluZm8JAQAAAAhhc1N0cmluZwAAAAEJAAP8AAAABAUAAAAHcmVzdEFjYwIAAAAQc3dhcEluZm9SRUFET05MWQkABEwAAAACBQAAABF1c2VyQWRkcmVzc1N0ck9wdAUAAAADbmlsBQAAAANuaWwJAAUUAAAAAgUAAAADbmlsCQEAAAALcHJvZHVjZUpzb24AAAABCQAETAAAAAICAAAAEWduc2J0SW5mb1JFQURPTkxZCQAETAAAAAIFAAAACWduc2J0SW5mbwkABEwAAAACAgAAABBzd2FwSW5mb1JFQURPTkxZCQAETAAAAAIFAAAACHN3YXBJbmZvBQAAAANuaWwAAAABaQEAAAATYnV5TnNidFBhZ2VSRUFET05MWQAAAAEAAAARdXNlckFkZHJlc3NTdHJPcHQEAAAACWduc2J0SW5mbwkBAAAACGFzU3RyaW5nAAAAAQkAA/wAAAAEBQAAAAdyZXN0QWNjAgAAABFnbnNidEluZm9SRUFET05MWQkABEwAAAACBQAAABF1c2VyQWRkcmVzc1N0ck9wdAkABEwAAAACAAAAAAAAAAAABQAAAANuaWwFAAAAA25pbAQAAAANbmV1dHJpbm9TdGF0cwkBAAAACGFzU3RyaW5nAAAAAQkAA/wAAAAEBQAAAAdyZXN0QWNjAgAAABVuZXV0cmlub1N0YXRzUkVBRE9OTFkFAAAAA25pbAUAAAADbmlsCQAFFAAAAAIFAAAAA25pbAkBAAAAC3Byb2R1Y2VKc29uAAAAAQkABEwAAAACAgAAABFnbnNidEluZm9SRUFET05MWQkABEwAAAACBQAAAAlnbnNidEluZm8JAARMAAAAAgIAAAAVbmV1dHJpbm9TdGF0c1JFQURPTkxZCQAETAAAAAIFAAAADW5ldXRyaW5vU3RhdHMFAAAAA25pbAAAAABbV/qF", "height": 2067116, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6RABzX8ZBZnt2GEAkhKeJyjr5xuoutocqmmVhA3a5VSz Next: D1sBqEz4jSZqNar2sbrEN6Q5orehz8TFVYsYP9nHYJjt Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
6-let b = 1000000
7-
8-let c = 100000000
9-
10-let d = "WAVES"
11-
12-let e = fromBase58String(d)
13-
14-func f (g) = valueOrErrorMessage(getInteger(this, g), (("Mandatory this." + g) + " is not defined"))
6+func b () = "%s%s__config__controlAddress"
157
168
17-func h (g,i) = valueOrElse(getString(this, g), i)
9+func c () = "%s%s__config__restAddress"
1810
1911
20-func j (g) = valueOrErrorMessage(getString(this, g), (("Mandatory this." + g) + " is not defined"))
12+func d (e) = valueOrErrorMessage(getString(this, e), (("Mandatory this." + e) + " is not defined"))
2113
2214
23-func k (g) = valueOrErrorMessage(addressFromString(j(g)), (("Fail to convert this." + g) + " value into Address"))
15+func f (e) = valueOrErrorMessage(addressFromString(d(e)), ("fail to parse address for this." + e))
2416
2517
26-func l (m) = {
27- let n = valueOrErrorMessage(addressFromString(m), ("fail to convert into address " + m))
28- if ((0 > wavesBalance(n).available))
29- then throw()
30- else m
18+func g (h) = {
19+ let i = h
20+ if ($isInstanceOf(i, "String"))
21+ then {
22+ let j = i
23+ j
24+ }
25+ else throw("fail to cast into String")
3126 }
3227
3328
34-func o (n) = ("%s__" + n)
29+func k (l) = {
30+ let m = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
31+ let n = size(l)
32+ if (((n % 2) != 0))
33+ then throw("only even args size is accepeted")
34+ else if ((n > size(m)))
35+ then throw(("strMap length is greater then " + toString(size(m))))
36+ else {
37+ func k (o,p) = if (if (((p % 2) == 0))
38+ then (n >= (p + 1))
39+ else false)
40+ then (((((o + "
41+\"") + l[p]) + "\": \"") + l[(p + 1)]) + "\",")
42+ else o
3543
44+ let q = {
45+ let r = m
46+ let s = size(r)
47+ let t = ""
48+ func u (v,w) = if ((w >= s))
49+ then v
50+ else k(v, r[w])
3651
37-func p (n) = ("%s%s__totals__" + n)
52+ func x (v,w) = if ((w >= s))
53+ then v
54+ else throw("List size exceeds 20")
3855
39-
40-func q () = "%s%s__cfg__depositAmount"
41-
42-
43-func r () = "%s%s__cfg__neutrinoAddress"
44-
45-
46-func s () = "%s%s__cfg__mainNeutrinoNodeAddress"
47-
48-
49-func t () = "%s%s__cfg__protocolPartX6"
50-
51-
52-func u () = "%s%s__cfg__benificaryPartX6"
53-
54-
55-func v (w,x,y) = makeString(["%s%d%d%d%d", w, toString(lastBlock.height), toString(lastBlock.timestamp), toString(x), toString(y)], a)
56-
57-
58-func z (A,B) = makeString(["%s%s%s", "history", toString(A), toBase58String(B)], a)
59-
60-
61-func C (D,E,F,G,H) = makeString(["%d%d%d%d%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(D), toString(E), toString(F), toString(G), toString(H)], a)
62-
63-
64-func I (A,B,J,E,F,K,L) = StringEntry(z(A, B), C(J, E, F, K, L))
65-
66-
67-func M (J,E,F,G,H) = makeString(["%d%d%d%d%d", toString(J), toString(E), toString(F), toString(G), toString(H)], a)
68-
69-
70-func N (O,J,E,F,G,H) = {
71- let P = p(toString(O))
72- let Q = split(h(P, M(0, 0, 0, 0, 0)), a)
73- let R = (parseIntValue(Q[1]) + J)
74- let S = (parseIntValue(Q[2]) + E)
75- let T = (parseIntValue(Q[3]) + F)
76- let U = (parseIntValue(Q[4]) + G)
77- let V = (parseIntValue(Q[5]) + H)
78- StringEntry(P, M(R, S, T, U, V))
56+ x(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(t, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
57+ }
58+ (("{" + dropRight(q, 1)) + "}")
59+ }
7960 }
8061
8162
82-@Callable(W)
83-func constructor (x,X,Y,Z,aa) = if ((W.caller != this))
84- then throw("permissions denied")
85- else if ((0 > x))
86- then throw("depositAmount less then zero")
87- else if ((0 > Z))
88- then throw("protocolPartX6 less then zero")
89- else if ((0 > aa))
90- then throw("benificaryPartX6 less then zero")
91- else if (((Z + aa) != b))
92- then throw("parts sum must be 1")
93- else [IntegerEntry(q(), x), StringEntry(r(), l(X)), StringEntry(s(), l(Y)), IntegerEntry(t(), Z), IntegerEntry(u(), aa)]
63+let y = f(b())
64+
65+let z = f(c())
66+
67+@Callable(A)
68+func constructor (B,C) = if ((A.caller != this))
69+ then throw("not authorized")
70+ else [StringEntry(b(), B), StringEntry(c(), C)]
9471
9572
9673
97-@Callable(W)
98-func wouldLikeToBeNeutrinoNode () = if ((size(W.payments) != 1))
99- then throw("exact 1 payment must be attached")
100- else if ((W.caller != W.originCaller))
101- then throw("dapp to dapp calls are not allowed")
102- else {
103- let ab = W.payments[0]
104- let ac = ab.amount
105- let ad = valueOrElse(ab.assetId, e)
106- let ae = f(q())
107- let B = toBase58String(W.transactionId)
108- let A = toString(W.caller)
109- let af = o(A)
110- if ((ad != e))
111- then throw("only Waves can be used for deposit")
112- else if ((ac != ae))
113- then throw((("exactly " + toString(ae)) + " Wavelets are expected"))
114- else if ((h(af, "") != ""))
115- then throw("your node already registered")
116- else [StringEntry(af, v(B, ac, ac))]
117- }
74+@Callable(A)
75+func stakeNsbtPageREADONLY (D,E) = {
76+ let F = g(invoke(z, "gnsbtInfoREADONLY", [D, E], nil))
77+ let G = g(invoke(z, "swapInfoREADONLY", [D], nil))
78+ $Tuple2(nil, k(["gnsbtInfoREADONLY", F, "swapInfoREADONLY", G]))
79+ }
11880
11981
12082
121-@Callable(W)
122-func distibuteMinerReward (ag) = if ((size(W.payments) != 1))
123- then throw("exact 1 payment must be attached")
124- else if ((W.caller != W.originCaller))
125- then throw("dapp to dapp calls are not allowed")
126- else {
127- let ab = W.payments[0]
128- let J = ab.amount
129- let ad = valueOrElse(ab.assetId, e)
130- if ((ad != e))
131- then throw("only Waves can be used")
132- else {
133- let ah = k(r())
134- let ai = k(s())
135- let aj = W.caller
136- let ak = addressFromStringValue(ag)
137- let al = f(t())
138- let am = f(u())
139- if ((wavesBalance(aj).available != 0))
140- then throw("all Waves must be sent from Node")
141- else {
142- let an = fraction(J, am, b)
143- let F = (J - an)
144- let K = (F / 2)
145- let L = (F - K)
146-[ScriptTransfer(ak, an, unit), ScriptTransfer(ah, K, unit), ScriptTransfer(ai, L, unit), I(aj, W.transactionId, J, an, F, K, L), N(aj, J, an, F, K, L)]
147- }
148- }
149- }
83+@Callable(A)
84+func buyNsbtPageREADONLY (D) = {
85+ let F = g(invoke(z, "gnsbtInfoREADONLY", [D, 0], nil))
86+ let H = g(invoke(z, "neutrinoStatsREADONLY", nil, nil))
87+ $Tuple2(nil, k(["gnsbtInfoREADONLY", F, "neutrinoStatsREADONLY", H]))
88+ }
15089
15190
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
6-let b = 1000000
7-
8-let c = 100000000
9-
10-let d = "WAVES"
11-
12-let e = fromBase58String(d)
13-
14-func f (g) = valueOrErrorMessage(getInteger(this, g), (("Mandatory this." + g) + " is not defined"))
6+func b () = "%s%s__config__controlAddress"
157
168
17-func h (g,i) = valueOrElse(getString(this, g), i)
9+func c () = "%s%s__config__restAddress"
1810
1911
20-func j (g) = valueOrErrorMessage(getString(this, g), (("Mandatory this." + g) + " is not defined"))
12+func d (e) = valueOrErrorMessage(getString(this, e), (("Mandatory this." + e) + " is not defined"))
2113
2214
23-func k (g) = valueOrErrorMessage(addressFromString(j(g)), (("Fail to convert this." + g) + " value into Address"))
15+func f (e) = valueOrErrorMessage(addressFromString(d(e)), ("fail to parse address for this." + e))
2416
2517
26-func l (m) = {
27- let n = valueOrErrorMessage(addressFromString(m), ("fail to convert into address " + m))
28- if ((0 > wavesBalance(n).available))
29- then throw()
30- else m
18+func g (h) = {
19+ let i = h
20+ if ($isInstanceOf(i, "String"))
21+ then {
22+ let j = i
23+ j
24+ }
25+ else throw("fail to cast into String")
3126 }
3227
3328
34-func o (n) = ("%s__" + n)
29+func k (l) = {
30+ let m = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
31+ let n = size(l)
32+ if (((n % 2) != 0))
33+ then throw("only even args size is accepeted")
34+ else if ((n > size(m)))
35+ then throw(("strMap length is greater then " + toString(size(m))))
36+ else {
37+ func k (o,p) = if (if (((p % 2) == 0))
38+ then (n >= (p + 1))
39+ else false)
40+ then (((((o + "
41+\"") + l[p]) + "\": \"") + l[(p + 1)]) + "\",")
42+ else o
3543
44+ let q = {
45+ let r = m
46+ let s = size(r)
47+ let t = ""
48+ func u (v,w) = if ((w >= s))
49+ then v
50+ else k(v, r[w])
3651
37-func p (n) = ("%s%s__totals__" + n)
52+ func x (v,w) = if ((w >= s))
53+ then v
54+ else throw("List size exceeds 20")
3855
39-
40-func q () = "%s%s__cfg__depositAmount"
41-
42-
43-func r () = "%s%s__cfg__neutrinoAddress"
44-
45-
46-func s () = "%s%s__cfg__mainNeutrinoNodeAddress"
47-
48-
49-func t () = "%s%s__cfg__protocolPartX6"
50-
51-
52-func u () = "%s%s__cfg__benificaryPartX6"
53-
54-
55-func v (w,x,y) = makeString(["%s%d%d%d%d", w, toString(lastBlock.height), toString(lastBlock.timestamp), toString(x), toString(y)], a)
56-
57-
58-func z (A,B) = makeString(["%s%s%s", "history", toString(A), toBase58String(B)], a)
59-
60-
61-func C (D,E,F,G,H) = makeString(["%d%d%d%d%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(D), toString(E), toString(F), toString(G), toString(H)], a)
62-
63-
64-func I (A,B,J,E,F,K,L) = StringEntry(z(A, B), C(J, E, F, K, L))
65-
66-
67-func M (J,E,F,G,H) = makeString(["%d%d%d%d%d", toString(J), toString(E), toString(F), toString(G), toString(H)], a)
68-
69-
70-func N (O,J,E,F,G,H) = {
71- let P = p(toString(O))
72- let Q = split(h(P, M(0, 0, 0, 0, 0)), a)
73- let R = (parseIntValue(Q[1]) + J)
74- let S = (parseIntValue(Q[2]) + E)
75- let T = (parseIntValue(Q[3]) + F)
76- let U = (parseIntValue(Q[4]) + G)
77- let V = (parseIntValue(Q[5]) + H)
78- StringEntry(P, M(R, S, T, U, V))
56+ x(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(t, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
57+ }
58+ (("{" + dropRight(q, 1)) + "}")
59+ }
7960 }
8061
8162
82-@Callable(W)
83-func constructor (x,X,Y,Z,aa) = if ((W.caller != this))
84- then throw("permissions denied")
85- else if ((0 > x))
86- then throw("depositAmount less then zero")
87- else if ((0 > Z))
88- then throw("protocolPartX6 less then zero")
89- else if ((0 > aa))
90- then throw("benificaryPartX6 less then zero")
91- else if (((Z + aa) != b))
92- then throw("parts sum must be 1")
93- else [IntegerEntry(q(), x), StringEntry(r(), l(X)), StringEntry(s(), l(Y)), IntegerEntry(t(), Z), IntegerEntry(u(), aa)]
63+let y = f(b())
64+
65+let z = f(c())
66+
67+@Callable(A)
68+func constructor (B,C) = if ((A.caller != this))
69+ then throw("not authorized")
70+ else [StringEntry(b(), B), StringEntry(c(), C)]
9471
9572
9673
97-@Callable(W)
98-func wouldLikeToBeNeutrinoNode () = if ((size(W.payments) != 1))
99- then throw("exact 1 payment must be attached")
100- else if ((W.caller != W.originCaller))
101- then throw("dapp to dapp calls are not allowed")
102- else {
103- let ab = W.payments[0]
104- let ac = ab.amount
105- let ad = valueOrElse(ab.assetId, e)
106- let ae = f(q())
107- let B = toBase58String(W.transactionId)
108- let A = toString(W.caller)
109- let af = o(A)
110- if ((ad != e))
111- then throw("only Waves can be used for deposit")
112- else if ((ac != ae))
113- then throw((("exactly " + toString(ae)) + " Wavelets are expected"))
114- else if ((h(af, "") != ""))
115- then throw("your node already registered")
116- else [StringEntry(af, v(B, ac, ac))]
117- }
74+@Callable(A)
75+func stakeNsbtPageREADONLY (D,E) = {
76+ let F = g(invoke(z, "gnsbtInfoREADONLY", [D, E], nil))
77+ let G = g(invoke(z, "swapInfoREADONLY", [D], nil))
78+ $Tuple2(nil, k(["gnsbtInfoREADONLY", F, "swapInfoREADONLY", G]))
79+ }
11880
11981
12082
121-@Callable(W)
122-func distibuteMinerReward (ag) = if ((size(W.payments) != 1))
123- then throw("exact 1 payment must be attached")
124- else if ((W.caller != W.originCaller))
125- then throw("dapp to dapp calls are not allowed")
126- else {
127- let ab = W.payments[0]
128- let J = ab.amount
129- let ad = valueOrElse(ab.assetId, e)
130- if ((ad != e))
131- then throw("only Waves can be used")
132- else {
133- let ah = k(r())
134- let ai = k(s())
135- let aj = W.caller
136- let ak = addressFromStringValue(ag)
137- let al = f(t())
138- let am = f(u())
139- if ((wavesBalance(aj).available != 0))
140- then throw("all Waves must be sent from Node")
141- else {
142- let an = fraction(J, am, b)
143- let F = (J - an)
144- let K = (F / 2)
145- let L = (F - K)
146-[ScriptTransfer(ak, an, unit), ScriptTransfer(ah, K, unit), ScriptTransfer(ai, L, unit), I(aj, W.transactionId, J, an, F, K, L), N(aj, J, an, F, K, L)]
147- }
148- }
149- }
83+@Callable(A)
84+func buyNsbtPageREADONLY (D) = {
85+ let F = g(invoke(z, "gnsbtInfoREADONLY", [D, 0], nil))
86+ let H = g(invoke(z, "neutrinoStatsREADONLY", nil, nil))
87+ $Tuple2(nil, k(["gnsbtInfoREADONLY", F, "neutrinoStatsREADONLY", H]))
88+ }
15089
15190

github/deemru/w8io/169f3d6 
38.06 ms