tx · 7Y2YBguTGHyXmEUHTZgbTFtoRukTvNPfUiwjesLCxf2s

3NAg879tKUJh949h21umkwiaRQhwZftz1BE:  -0.05000000 Waves

2019.09.03 16:53 [659894] smart account 3NAg879tKUJh949h21umkwiaRQhwZftz1BE > SELF 0.00000000 Waves

{ "type": 13, "id": "7Y2YBguTGHyXmEUHTZgbTFtoRukTvNPfUiwjesLCxf2s", "fee": 5000000, "feeAssetId": null, "timestamp": 1567518915458, "version": 1, "sender": "3NAg879tKUJh949h21umkwiaRQhwZftz1BE", "senderPublicKey": "BqY2jhkQCcbidtQdQZu6f9RV3AkFAS8VPToHxwYu1KdJ", "proofs": [ "4uKuxPtq5m8JnFMhCDsRJMuVneQefre5xFNwAR2e1NLDDTFdfNGFqb2riMJA5hUGZzk2oRgvPCtLtfwSPUPDzavw" ], "script": "base64:AAIDAAAAAAAAAAAAAAAUAAAAAAN3dnMAAAAAAAX14QAAAAAAFHRpY2tlckFsbG93ZWRMZXR0ZXJzAgAAABpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWgAAAAANdGlja2VyRXhhbXBsZQIAAAADQlRDAAAAAA90aWNrZXJNaW5MZW5ndGgAAAAAAAAAAAEAAAAAD3RpY2tlck1heExlbmd0aAAAAAAAAAAABgAAAAAWZGVzY3JpcHRpb25VcGRhdGVQcmljZQkAAGgAAAACAAAAAAAAAAABBQAAAAN3dnMAAAAAD2xpbmtVcGRhdGVQcmljZQkAAGgAAAACAAAAAAAAAAABBQAAAAN3dnMAAAAAEXRpY2tlclVwZGF0ZVByaWNlCQAAaAAAAAIAAAAAAAAAAAIFAAAAA3d2cwAAAAAcdGlja2VyQ2F0YWxvZ3VlT3JhY2xlQWRkcmVzcwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABAgAAACMzTXhIeFc1VldxNEtyV2NiaEZmeEtyYWZYbTRtTDZyWkhmagAAAAAYdG9rZW5SYXRpbmdPcmFjbGVBZGRyZXNzCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAECAAAAIzNOQURxSG9MTWJNVGZYZFAyVGVCQlN4NW1RWGVQVmozS1ptAQAAABRnZXRTdHJpbmdGcm9tQWNjb3VudAAAAAIAAAAOYWNjb3VudEFkZHJlc3MAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAADmFjY291bnRBZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABcwUAAAAHJG1hdGNoMAUAAAABcwUAAAAEdW5pdAEAAAAVZ2V0SW50ZWdlckZyb21BY2NvdW50AAAAAgAAAA5hY2NvdW50QWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAOYWNjb3VudEFkZHJlc3MFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFpBQAAAAckbWF0Y2gwBQAAAAFpAAAAAAAAAAAAAQAAAA1pc1N1YnN0ckV4aXN0AAAAAgAAAANzdHIAAAAGc3Vic3RyBAAAAAckbWF0Y2gwCQAEswAAAAIFAAAAA3N0cgUAAAAGc3Vic3RyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAABWluZGV4BQAAAAckbWF0Y2gwBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAQAAAAFaW5kZXgFAAAAByRtYXRjaDAHCQEAAAAFdGhyb3cAAAAAAQAAABFhc3NldElkRnJvbVN0cmluZwAAAAEAAAAHYXNzZXRJZAMDCQAAAAAAAAIFAAAAB2Fzc2V0SWQCAAAABVdBVkVTBgkAAAAAAAACBQAAAAdhc3NldElkAgAAAAAFAAAABHVuaXQJAAJZAAAAAQUAAAAHYXNzZXRJZAEAAAANaXNWYWxpZFRpY2tlcgAAAAEAAAAGdGlja2VyBAAAAA10aWNrZXJMZXR0ZXJzCQAEtQAAAAIFAAAABnRpY2tlcgIAAAAABAAAAAx0aWNrZXJMZW5ndGgJAAGQAAAAAQUAAAANdGlja2VyTGV0dGVycwQAAAAOaXNMZXR0ZXIxVmFsaWQJAQAAAA1pc1N1YnN0ckV4aXN0AAAAAgUAAAAUdGlja2VyQWxsb3dlZExldHRlcnMJAAGRAAAAAgUAAAANdGlja2VyTGV0dGVycwAAAAAAAAAAAAQAAAAOaXNMZXR0ZXIyVmFsaWQJAQAAAA1pc1N1YnN0ckV4aXN0AAAAAgUAAAAUdGlja2VyQWxsb3dlZExldHRlcnMJAAGRAAAAAgUAAAANdGlja2VyTGV0dGVycwAAAAAAAAAAAQQAAAAOaXNMZXR0ZXIzVmFsaWQJAQAAAA1pc1N1YnN0ckV4aXN0AAAAAgUAAAAUdGlja2VyQWxsb3dlZExldHRlcnMJAAGRAAAAAgUAAAANdGlja2VyTGV0dGVycwAAAAAAAAAAAgQAAAAOaXNMZXR0ZXI0VmFsaWQJAQAAAA1pc1N1YnN0ckV4aXN0AAAAAgUAAAAUdGlja2VyQWxsb3dlZExldHRlcnMJAAGRAAAAAgUAAAANdGlja2VyTGV0dGVycwAAAAAAAAAAAwQAAAAOaXNMZXR0ZXI1VmFsaWQJAQAAAA1pc1N1YnN0ckV4aXN0AAAAAgUAAAAUdGlja2VyQWxsb3dlZExldHRlcnMJAAGRAAAAAgUAAAANdGlja2VyTGV0dGVycwAAAAAAAAAABAQAAAAOaXNMZXR0ZXI2VmFsaWQJAQAAAA1pc1N1YnN0ckV4aXN0AAAAAgUAAAAUdGlja2VyQWxsb3dlZExldHRlcnMJAAGRAAAAAgUAAAANdGlja2VyTGV0dGVycwAAAAAAAAAABQMJAQAAAAIhPQAAAAIFAAAABnRpY2tlcgIAAAAAAwMJAABnAAAAAgUAAAAMdGlja2VyTGVuZ3RoBQAAAA90aWNrZXJNaW5MZW5ndGgJAABnAAAAAgUAAAAPdGlja2VyTWF4TGVuZ3RoBQAAAAx0aWNrZXJMZW5ndGgHAwkAAAAAAAACAAAAAAAAAAABBQAAAAx0aWNrZXJMZW5ndGgFAAAADmlzTGV0dGVyMVZhbGlkAwkAAAAAAAACAAAAAAAAAAACBQAAAAx0aWNrZXJMZW5ndGgDBQAAAA5pc0xldHRlcjFWYWxpZAUAAAAOaXNMZXR0ZXIyVmFsaWQHAwkAAAAAAAACAAAAAAAAAAADBQAAAAx0aWNrZXJMZW5ndGgDAwUAAAAOaXNMZXR0ZXIxVmFsaWQFAAAADmlzTGV0dGVyMlZhbGlkBwUAAAAOaXNMZXR0ZXIzVmFsaWQHAwkAAAAAAAACAAAAAAAAAAAEBQAAAAx0aWNrZXJMZW5ndGgDAwMFAAAADmlzTGV0dGVyMVZhbGlkBQAAAA5pc0xldHRlcjJWYWxpZAcFAAAADmlzTGV0dGVyM1ZhbGlkBwUAAAAOaXNMZXR0ZXI0VmFsaWQHAwkAAAAAAAACAAAAAAAAAAAFBQAAAAx0aWNrZXJMZW5ndGgDAwMDBQAAAA5pc0xldHRlcjFWYWxpZAUAAAAOaXNMZXR0ZXIyVmFsaWQHBQAAAA5pc0xldHRlcjNWYWxpZAcFAAAADmlzTGV0dGVyNFZhbGlkBwUAAAAOaXNMZXR0ZXI1VmFsaWQHAwkAAAAAAAACAAAAAAAAAAAGBQAAAAx0aWNrZXJMZW5ndGgDAwMDAwUAAAAOaXNMZXR0ZXIxVmFsaWQFAAAADmlzTGV0dGVyMlZhbGlkBwUAAAAOaXNMZXR0ZXIzVmFsaWQHBQAAAA5pc0xldHRlcjRWYWxpZAcFAAAADmlzTGV0dGVyNVZhbGlkBwUAAAAOaXNMZXR0ZXI2VmFsaWQHBwcHAQAAABxpc0Fzc2V0VXBkYXRlQWxsb3dlZEJ5UmF0aW5nAAAAAQAAAAdhc3NldElkBAAAAA5hc3NldFJhdGluZ0tleQkAASwAAAACCQABLAAAAAICAAAADGFzc2V0UmF0aW5nXwUAAAAHYXNzZXRJZAIAAAACXzEEAAAAEGFzc2V0UmF0aW5nVmFsdWUJAQAAABVnZXRJbnRlZ2VyRnJvbUFjY291bnQAAAACBQAAABh0b2tlblJhdGluZ09yYWNsZUFkZHJlc3MFAAAADmFzc2V0UmF0aW5nS2V5BAAAABNhc3NldFJhdGluZ1RyZXNob2xkCQEAAAAVZ2V0SW50ZWdlckZyb21BY2NvdW50AAAAAgUAAAAYdG9rZW5SYXRpbmdPcmFjbGVBZGRyZXNzAgAAAA1hc3NldFJhdGluZ18xCQAAZwAAAAIFAAAAEGFzc2V0UmF0aW5nVmFsdWUFAAAAE2Fzc2V0UmF0aW5nVHJlc2hvbGQBAAAAHGlzQXNzZXRVcGRhdGVBbGxvd2VkQnlXZWlnaHQAAAABAAAAB2Fzc2V0SWQEAAAADmFzc2V0V2VpZ2h0S2V5AgAAAAthc3NldFdlaWdodAQAAAAQYXNzZXRXZWlnaHRWYWx1ZQkBAAAAFWdldEludGVnZXJGcm9tQWNjb3VudAAAAAIFAAAAGHRva2VuUmF0aW5nT3JhY2xlQWRkcmVzcwUAAAAOYXNzZXRXZWlnaHRLZXkEAAAAE2Fzc2V0V2VpZ2h0VHJlc2hvbGQJAQAAABVnZXRJbnRlZ2VyRnJvbUFjY291bnQAAAACBQAAABh0b2tlblJhdGluZ09yYWNsZUFkZHJlc3MCAAAAC2Fzc2V0V2VpZ2h0CQAAZwAAAAIFAAAAEGFzc2V0V2VpZ2h0VmFsdWUFAAAAE2Fzc2V0V2VpZ2h0VHJlc2hvbGQBAAAAG2lzQXNzZXRVcGRhdGVBbGxvd2VkQnlWb3RlcwAAAAEAAAAHYXNzZXRJZAQAAAANYXNzZXRWb3Rlc0tleQIAAAAKYXNzZXRWb3RlcwQAAAAPYXNzZXRWb3Rlc1ZhbHVlCQEAAAAVZ2V0SW50ZWdlckZyb21BY2NvdW50AAAAAgUAAAAYdG9rZW5SYXRpbmdPcmFjbGVBZGRyZXNzBQAAAA1hc3NldFZvdGVzS2V5BAAAABJhc3NldFZvdGVzVHJlc2hvbGQJAQAAABVnZXRJbnRlZ2VyRnJvbUFjY291bnQAAAACBQAAABh0b2tlblJhdGluZ09yYWNsZUFkZHJlc3MCAAAACmFzc2V0Vm90ZXMJAABnAAAAAgUAAAAPYXNzZXRWb3Rlc1ZhbHVlBQAAABJhc3NldFZvdGVzVHJlc2hvbGQBAAAAF2lzVXBkYXRlQWxsb3dlZEJ5UmF0aW5nAAAAAQAAAAdhc3NldElkAwMJAQAAABxpc0Fzc2V0VXBkYXRlQWxsb3dlZEJ5UmF0aW5nAAAAAQUAAAAHYXNzZXRJZAkBAAAAHGlzQXNzZXRVcGRhdGVBbGxvd2VkQnlXZWlnaHQAAAABBQAAAAdhc3NldElkBwkBAAAAG2lzQXNzZXRVcGRhdGVBbGxvd2VkQnlWb3RlcwAAAAEFAAAAB2Fzc2V0SWQHAQAAABlnZXRBc3NldElzc3VlckZyb21Bc3NldElkAAAAAQAAAAdhc3NldElkBAAAAAckbWF0Y2gwCQAD7AAAAAEJAAJZAAAAAQUAAAAHYXNzZXRJZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAFQXNzZXQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABHVuaXQAAAABAAAAAWkBAAAADHVwZGF0ZVRpY2tlcgAAAAIAAAAHYXNzZXRJZAAAAAZ0aWNrZXIEAAAAB3BheW1lbnQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA9pc3N1ZXJUaWNrZXJLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADWlzc3VlclRpY2tlcl8CAAAAATwFAAAAB2Fzc2V0SWQCAAAAAT4EAAAAEHRpY2tlckZyb21PcmFjbGUJAQAAABRnZXRTdHJpbmdGcm9tQWNjb3VudAAAAAIFAAAAHHRpY2tlckNhdGFsb2d1ZU9yYWNsZUFkZHJlc3MFAAAABnRpY2tlcgQAAAARYXNzZXRJc3N1ZXJBZHJlc3MJAAQlAAAAAQgJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkAA+wAAAABCQACWQAAAAEFAAAAB2Fzc2V0SWQCAAAAHnRoZXJlIGlzIG5vIGFzc2V0IHdpdGggc3VjaCBpZAAAAAZpc3N1ZXIDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkAwkAAGcAAAACCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAAEXRpY2tlclVwZGF0ZVByaWNlAwkAAAAAAAACBQAAAA1jYWxsZXJBZGRyZXNzBQAAABFhc3NldElzc3VlckFkcmVzcwMJAQAAABdpc1VwZGF0ZUFsbG93ZWRCeVJhdGluZwAAAAEFAAAAB2Fzc2V0SWQDCQAAAAAAAAIFAAAAEHRpY2tlckZyb21PcmFjbGUFAAAABHVuaXQDCQEAAAANaXNWYWxpZFRpY2tlcgAAAAEFAAAABnRpY2tlcgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAPaXNzdWVyVGlja2VyS2V5BQAAAAZ0aWNrZXIFAAAAA25pbAkAAAIAAAABAgAAAD9lcnJvciM1LiBUaWNrZXIgc2hvdWxkIGNvbnNpc3Qgb2YgMS02IGNhcGl0YWwgTGF0aW4gY2hhcmFjdGVycy4JAAACAAAAAQIAAAAwZXJyb3IjNC4gQXNzZXQgd2l0aCBzdWNoIHRpY2tlciBpcyBhbHJlYWR5IGV4aXN0CQAAAgAAAAECAAAAGmVycm9yIzMuIFRvbyBsaXR0bGUgcmF0aW5nCQAAAgAAAAECAAAAMmVycm9yIzIuIE9ubHkgYXNzZXQgaXNzdWVyIGNhbiB1cGRhdGUgYXNzZXQgdGlja2VyCQAAAgAAAAECAAAAPmVycm9yIzIuIEluc3VmZmljaWVudCBwYXltZW50IGZvciBhc3NldCB0aWNrZXIgdXBkYXRlIHNlcnZpY2UuCQAAAgAAAAECAAAALmVycm9yIzEuIFRoZSBzZXJ2aWNlIGNhbiBvbmx5IGJlIHBhaWQgaW4gd2F2ZXMAAAAAHdsF2Q==", "chainId": 84, "height": 659894, "spentComplexity": 0 } View: original | compacted Prev: 6PhuUpNa9j7NF6xGXe35tR3Pxh4ScukzJ6u1Y2rY9Kts Next: DVu3TitB8GhonEtmF4yZ91Xh9z5dqcFbKBVNxybsuymJ Diff:
OldNewDifferences
5959 }
6060
6161
62-func v (w) = {
63- let x = split(w, "")
64- let y = size(x)
65- let z = r(b, x[0])
66- let A = r(b, x[1])
67- let B = r(b, x[2])
68- let C = r(b, x[3])
69- let D = r(b, x[4])
70- let E = r(b, x[5])
71- if ((w != ""))
72- then if (if ((y >= d))
73- then (e >= y)
62+func v (w) = if (if ((w == "WAVES"))
63+ then true
64+ else (w == ""))
65+ then unit
66+ else fromBase58String(w)
67+
68+
69+func x (y) = {
70+ let z = split(y, "")
71+ let A = size(z)
72+ let B = r(b, z[0])
73+ let C = r(b, z[1])
74+ let D = r(b, z[2])
75+ let E = r(b, z[3])
76+ let F = r(b, z[4])
77+ let G = r(b, z[5])
78+ if ((y != ""))
79+ then if (if ((A >= d))
80+ then (e >= A)
7481 else false)
75- then if ((1 == y))
76- then z
77- else if ((2 == y))
78- then if (z)
79- then A
82+ then if ((1 == A))
83+ then B
84+ else if ((2 == A))
85+ then if (B)
86+ then C
8087 else false
81- else if ((3 == y))
82- then if (if (z)
83- then A
88+ else if ((3 == A))
89+ then if (if (B)
90+ then C
8491 else false)
85- then B
92+ then D
8693 else false
87- else if ((4 == y))
88- then if (if (if (z)
89- then A
94+ else if ((4 == A))
95+ then if (if (if (B)
96+ then C
9097 else false)
91- then B
98+ then D
9299 else false)
93- then C
100+ then E
94101 else false
95- else if ((5 == y))
96- then if (if (if (if (z)
97- then A
98- else false)
99- then B
100- else false)
102+ else if ((5 == A))
103+ then if (if (if (if (B)
101104 then C
102105 else false)
103106 then D
107+ else false)
108+ then E
109+ else false)
110+ then F
104111 else false
105- else if ((6 == y))
106- then if (if (if (if (if (z)
107- then A
108- else false)
109- then B
110- else false)
112+ else if ((6 == A))
113+ then if (if (if (if (if (B)
111114 then C
112115 else false)
113116 then D
114117 else false)
115118 then E
119+ else false)
120+ then F
121+ else false)
122+ then G
116123 else false
117124 else false
118125 else false
120127 }
121128
122129
123-func F (G) = {
124- let H = (("assetRating_" + G) + "_1")
125- let I = p(j, H)
126- let J = p(j, "assetRating_1")
127- (I >= J)
130+func H (w) = {
131+ let I = (("assetRating_" + w) + "_1")
132+ let J = p(j, I)
133+ let K = p(j, "assetRating_1")
134+ (J >= K)
128135 }
129136
130137
131-func K (G) = {
132- let L = "assetWeight"
133- let M = p(j, L)
134- let N = p(j, "assetWeight")
135- (M >= N)
138+func L (w) = {
139+ let M = "assetWeight"
140+ let N = p(j, M)
141+ let O = p(j, "assetWeight")
142+ (N >= O)
136143 }
137144
138145
139-func O (G) = {
140- let P = "assetVotes"
141- let Q = p(j, P)
142- let R = p(j, "assetVotes")
143- (Q >= R)
146+func P (w) = {
147+ let Q = "assetVotes"
148+ let R = p(j, Q)
149+ let S = p(j, "assetVotes")
150+ (R >= S)
144151 }
145152
146153
147-func S (G) = if (if (F(G))
148- then K(G)
154+func T (w) = if (if (H(w))
155+ then L(w)
149156 else false)
150- then O(G)
157+ then P(w)
151158 else false
152159
153160
161+func U (w) = {
162+ let n = assetInfo(fromBase58String(w))
163+ if ($isInstanceOf(n, "Asset"))
164+ then {
165+ let V = n
166+ V
167+ }
168+ else unit
169+ }
170+
171+
154172 @Callable(q)
155-func updateTicker (G,T,w) = {
156- let U = extract(q.payment)
157- let V = toBase58String(q.caller.bytes)
158- let W = ((("issuerTicker_" + "<") + G) + ">")
159- let X = k(i, w)
160- if (!(isDefined(U.assetId)))
161- then if ((U.amount >= h))
162- then if ((V == T))
163- then if (S(G))
164- then if ((X == unit))
165- then if (v(w))
166- then WriteSet([DataEntry(W, w)])
173+func updateTicker (w,y) = {
174+ let W = extract(q.payment)
175+ let X = toBase58String(q.caller.bytes)
176+ let Y = ((("issuerTicker_" + "<") + w) + ">")
177+ let Z = k(i, y)
178+ let aa = toString(valueOrErrorMessage(assetInfo(fromBase58String(w)), "there is no asset with such id").issuer)
179+ if (!(isDefined(W.assetId)))
180+ then if ((W.amount >= h))
181+ then if ((X == aa))
182+ then if (T(w))
183+ then if ((Z == unit))
184+ then if (x(y))
185+ then WriteSet([DataEntry(Y, y)])
167186 else throw("error#5. Ticker should consist of 1-6 capital Latin characters.")
168187 else throw("error#4. Asset with such ticker is already exist")
169188 else throw("error#3. Too little rating")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 100000000
55
66 let b = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
77
88 let c = "BTC"
99
1010 let d = 1
1111
1212 let e = 6
1313
1414 let f = (1 * a)
1515
1616 let g = (1 * a)
1717
1818 let h = (2 * a)
1919
2020 let i = addressFromStringValue("3MxHxW5VWq4KrWcbhFfxKrafXm4mL6rZHfj")
2121
2222 let j = addressFromStringValue("3NADqHoLMbMTfXdP2TeBBSx5mQXePVj3KZm")
2323
2424 func k (l,m) = {
2525 let n = getString(l, m)
2626 if ($isInstanceOf(n, "String"))
2727 then {
2828 let o = n
2929 o
3030 }
3131 else unit
3232 }
3333
3434
3535 func p (l,m) = {
3636 let n = getInteger(l, m)
3737 if ($isInstanceOf(n, "Int"))
3838 then {
3939 let q = n
4040 q
4141 }
4242 else 0
4343 }
4444
4545
4646 func r (s,t) = {
4747 let n = indexOf(s, t)
4848 if ($isInstanceOf(n, "Int"))
4949 then {
5050 let u = n
5151 true
5252 }
5353 else if ($isInstanceOf(n, "Unit"))
5454 then {
5555 let u = n
5656 false
5757 }
5858 else throw()
5959 }
6060
6161
62-func v (w) = {
63- let x = split(w, "")
64- let y = size(x)
65- let z = r(b, x[0])
66- let A = r(b, x[1])
67- let B = r(b, x[2])
68- let C = r(b, x[3])
69- let D = r(b, x[4])
70- let E = r(b, x[5])
71- if ((w != ""))
72- then if (if ((y >= d))
73- then (e >= y)
62+func v (w) = if (if ((w == "WAVES"))
63+ then true
64+ else (w == ""))
65+ then unit
66+ else fromBase58String(w)
67+
68+
69+func x (y) = {
70+ let z = split(y, "")
71+ let A = size(z)
72+ let B = r(b, z[0])
73+ let C = r(b, z[1])
74+ let D = r(b, z[2])
75+ let E = r(b, z[3])
76+ let F = r(b, z[4])
77+ let G = r(b, z[5])
78+ if ((y != ""))
79+ then if (if ((A >= d))
80+ then (e >= A)
7481 else false)
75- then if ((1 == y))
76- then z
77- else if ((2 == y))
78- then if (z)
79- then A
82+ then if ((1 == A))
83+ then B
84+ else if ((2 == A))
85+ then if (B)
86+ then C
8087 else false
81- else if ((3 == y))
82- then if (if (z)
83- then A
88+ else if ((3 == A))
89+ then if (if (B)
90+ then C
8491 else false)
85- then B
92+ then D
8693 else false
87- else if ((4 == y))
88- then if (if (if (z)
89- then A
94+ else if ((4 == A))
95+ then if (if (if (B)
96+ then C
9097 else false)
91- then B
98+ then D
9299 else false)
93- then C
100+ then E
94101 else false
95- else if ((5 == y))
96- then if (if (if (if (z)
97- then A
98- else false)
99- then B
100- else false)
102+ else if ((5 == A))
103+ then if (if (if (if (B)
101104 then C
102105 else false)
103106 then D
107+ else false)
108+ then E
109+ else false)
110+ then F
104111 else false
105- else if ((6 == y))
106- then if (if (if (if (if (z)
107- then A
108- else false)
109- then B
110- else false)
112+ else if ((6 == A))
113+ then if (if (if (if (if (B)
111114 then C
112115 else false)
113116 then D
114117 else false)
115118 then E
119+ else false)
120+ then F
121+ else false)
122+ then G
116123 else false
117124 else false
118125 else false
119126 else false
120127 }
121128
122129
123-func F (G) = {
124- let H = (("assetRating_" + G) + "_1")
125- let I = p(j, H)
126- let J = p(j, "assetRating_1")
127- (I >= J)
130+func H (w) = {
131+ let I = (("assetRating_" + w) + "_1")
132+ let J = p(j, I)
133+ let K = p(j, "assetRating_1")
134+ (J >= K)
128135 }
129136
130137
131-func K (G) = {
132- let L = "assetWeight"
133- let M = p(j, L)
134- let N = p(j, "assetWeight")
135- (M >= N)
138+func L (w) = {
139+ let M = "assetWeight"
140+ let N = p(j, M)
141+ let O = p(j, "assetWeight")
142+ (N >= O)
136143 }
137144
138145
139-func O (G) = {
140- let P = "assetVotes"
141- let Q = p(j, P)
142- let R = p(j, "assetVotes")
143- (Q >= R)
146+func P (w) = {
147+ let Q = "assetVotes"
148+ let R = p(j, Q)
149+ let S = p(j, "assetVotes")
150+ (R >= S)
144151 }
145152
146153
147-func S (G) = if (if (F(G))
148- then K(G)
154+func T (w) = if (if (H(w))
155+ then L(w)
149156 else false)
150- then O(G)
157+ then P(w)
151158 else false
152159
153160
161+func U (w) = {
162+ let n = assetInfo(fromBase58String(w))
163+ if ($isInstanceOf(n, "Asset"))
164+ then {
165+ let V = n
166+ V
167+ }
168+ else unit
169+ }
170+
171+
154172 @Callable(q)
155-func updateTicker (G,T,w) = {
156- let U = extract(q.payment)
157- let V = toBase58String(q.caller.bytes)
158- let W = ((("issuerTicker_" + "<") + G) + ">")
159- let X = k(i, w)
160- if (!(isDefined(U.assetId)))
161- then if ((U.amount >= h))
162- then if ((V == T))
163- then if (S(G))
164- then if ((X == unit))
165- then if (v(w))
166- then WriteSet([DataEntry(W, w)])
173+func updateTicker (w,y) = {
174+ let W = extract(q.payment)
175+ let X = toBase58String(q.caller.bytes)
176+ let Y = ((("issuerTicker_" + "<") + w) + ">")
177+ let Z = k(i, y)
178+ let aa = toString(valueOrErrorMessage(assetInfo(fromBase58String(w)), "there is no asset with such id").issuer)
179+ if (!(isDefined(W.assetId)))
180+ then if ((W.amount >= h))
181+ then if ((X == aa))
182+ then if (T(w))
183+ then if ((Z == unit))
184+ then if (x(y))
185+ then WriteSet([DataEntry(Y, y)])
167186 else throw("error#5. Ticker should consist of 1-6 capital Latin characters.")
168187 else throw("error#4. Asset with such ticker is already exist")
169188 else throw("error#3. Too little rating")
170189 else throw("error#2. Only asset issuer can update asset ticker")
171190 else throw("error#2. Insufficient payment for asset ticker update service.")
172191 else throw("error#1. The service can only be paid in waves")
173192 }
174193
175194

github/deemru/w8io/c3f4982 
54.29 ms