tx · 7BKd4VHsgVNBy2irbQzGudQoqtzU6xqLcAmS7hFHJKuK

3MzdomR4UkWKtVXq6YGouPJsYXDunjCvSJ8:  -0.03400000 Waves

2022.10.20 21:46 [2281111] smart account 3MzdomR4UkWKtVXq6YGouPJsYXDunjCvSJ8 > SELF 0.00000000 Waves

{ "type": 13, "id": "7BKd4VHsgVNBy2irbQzGudQoqtzU6xqLcAmS7hFHJKuK", "fee": 3400000, "feeAssetId": null, "timestamp": 1666291629781, "version": 2, "chainId": 84, "sender": "3MzdomR4UkWKtVXq6YGouPJsYXDunjCvSJ8", "senderPublicKey": "HjRpGGPsru1jMvZDVG83rQfzQRHCWNnrpMaqTpHogxyn", "proofs": [ "5B1XemqhVjXJ4hSMMJt6YVRRQsh5jLYTDk9z8bjZkRFGPtj3h7e55vvLEGuNt6f3AQc37GHu5rw5DCHJT95PnEkC" ], "script": "base64:BgJFCAISAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgQKAggIEgMKAQgSBAoCCAgSAwoBCBIDCgEIFgATa19pbnN1cmFuY2VfYWRkcmVzcwITa19pbnN1cmFuY2VfYWRkcmVzcwAPa19hZG1pbl9hZGRyZXNzAg9rX2FkbWluX2FkZHJlc3MAEmtfYWRtaW5fcHVibGljX2tleQISa19hZG1pbl9wdWJsaWNfa2V5AA1rX3F1b3RlX2Fzc2V0Ag1rX3F1b3RlX2Fzc2V0AA9rX3F1b3RlX3N0YWtpbmcCD2tfcXVvdGVfc3Rha2luZwARa19zdGFraW5nX2FkZHJlc3MCEWtfc3Rha2luZ19hZGRyZXNzABFrX2Zhcm1pbmdfYWRkcmVzcwIRa19mYXJtaW5nX2FkZHJlc3MAFWtfaG91c2VrZWVwZXJfYWRkcmVzcwIVa19ob3VzZWtlZXBlcl9hZGRyZXNzAAVrX2FtbQIFa19hbW0ACmtfYW1tX2RhdGECCmtfYW1tX2RhdGEAEmtfZ292ZXJuYW5jZV9hc3NldAILa19nb3ZfYXNzZXQAD2tfbWluZXJfYWRkcmVzcwIPa19taW5lcl9hZGRyZXNzABBrX29yZGVyc19hZGRyZXNzAhBrX29yZGVyc19hZGRyZXNzABJrX3JlZmVycmFsX2FkZHJlc3MCEmtfcmVmZXJyYWxfYWRkcmVzcwARa19tYW5hZ2VyX2FkZHJlc3MCEWtfbWFuYWdlcl9hZGRyZXNzAQ50b0NvbXBvc2l0ZUtleQIEX2tleQhfYWRkcmVzcwkArAICCQCsAgIFBF9rZXkCAV8FCF9hZGRyZXNzARFnZXRBZGRyZXNzSWZWYWxpZAEHYWRkcmVzcwkApQgBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQUHYWRkcmVzcwkArAICCQCsAgICDUNhbid0IHBhcnNlICIFB2FkZHJlc3MCDCIgYXMgYWRkcmVzcwEOYWRtaW5QdWJsaWNLZXkACQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzBRJrX2FkbWluX3B1YmxpY19rZXkBCWlzTm9BZG1pbgAJAAACCQCdCAIFBHRoaXMFD2tfYWRtaW5fYWRkcmVzcwUEdW5pdAEFYWRtaW4ACQERQGV4dHJOYXRpdmUoMTA2MikBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUEdGhpcwUPa19hZG1pbl9hZGRyZXNzAhFBZG1pbiBub3QgZGVmaW5lZAEQaXNOb0FkbWluT3JBZG1pbgEBaQMDCQEJaXNOb0FkbWluAAYJAAACCAUBaQZjYWxsZXIJAQVhZG1pbgAFBHVuaXQJAAIBAi5Pbmx5IHRoZSBBZG1pbiBpdHNlbGYgY2FuIGludm9rZSB0aGlzIGZ1bmN0aW9uAQdpc0FkbWluAQFpAwkAAAIIBQFpBmNhbGxlcgkBBWFkbWluAAUEdW5pdAkAAgECLk9ubHkgdGhlIEFkbWluIGl0c2VsZiBjYW4gaW52b2tlIHRoaXMgZnVuY3Rpb24NAWkBCHNldEFkbWluAQ9fYWRtaW5QdWJsaWNLZXkJAQt2YWx1ZU9yRWxzZQIJARBpc05vQWRtaW5PckFkbWluAQUBaQQFYnl0ZXMJANkEAQUPX2FkbWluUHVibGljS2V5BAdhZGRyZXNzCQCnCAEFBWJ5dGVzCQDMCAIJAQtTdHJpbmdFbnRyeQIFD2tfYWRtaW5fYWRkcmVzcwkApQgBBQdhZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIFEmtfYWRtaW5fcHVibGljX2tleQUPX2FkbWluUHVibGljS2V5BQNuaWwBaQEQc2V0SW5zdXJhbmNlRnVuZAEOX2luc3VyYW5jZUZ1bmQJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQHYWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUOX2luc3VyYW5jZUZ1bmQJAMwIAgkBC1N0cmluZ0VudHJ5AgUTa19pbnN1cmFuY2VfYWRkcmVzcwUHYWRkcmVzcwUDbmlsAWkBEXNldExpcXVpZGl0eU1pbmVyAQ9fbGlxdWlkaXR5TWluZXIJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQHYWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUPX2xpcXVpZGl0eU1pbmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIFD2tfbWluZXJfYWRkcmVzcwUHYWRkcmVzcwUDbmlsAWkBCXNldE9yZGVycwEHX29yZGVycwkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAdhZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQdfb3JkZXJzCQDMCAIJAQtTdHJpbmdFbnRyeQIFEGtfb3JkZXJzX2FkZHJlc3MFB2FkZHJlc3MFA25pbAFpAQtzZXRSZWZlcnJhbAEJX3JlZmVycmFsCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEB2FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFCV9yZWZlcnJhbAkAzAgCCQELU3RyaW5nRW50cnkCBRJrX3JlZmVycmFsX2FkZHJlc3MFB2FkZHJlc3MFA25pbAFpAQpzZXRGYXJtaW5nAQhfZmFybWluZwkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAdhZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQhfZmFybWluZwkAzAgCCQELU3RyaW5nRW50cnkCBRFrX2Zhcm1pbmdfYWRkcmVzcwUHYWRkcmVzcwUDbmlsAWkBCnNldE1hbmFnZXIBCF9tYW5hZ2VyCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEB2FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFCF9tYW5hZ2VyCQDMCAIJAQtTdHJpbmdFbnRyeQIFEWtfbWFuYWdlcl9hZGRyZXNzBQdhZGRyZXNzBQNuaWwBaQEOc2V0SG91c2VrZWVwZXIBDF9ob3VzZWtlZXBlcgkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAdhZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQxfaG91c2VrZWVwZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgUVa19ob3VzZWtlZXBlcl9hZGRyZXNzBQdhZGRyZXNzBQNuaWwBaQENc2V0UXVvdGVBc3NldAIIX2Fzc2V0SWQPX3N0YWtpbmdBZGRyZXNzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEDnN0YWtpbmdBZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQ9fc3Rha2luZ0FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUNa19xdW90ZV9hc3NldAUIX2Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUPa19xdW90ZV9zdGFraW5nBQ9fc3Rha2luZ0FkZHJlc3MFA25pbAFpARFzZXRTdGFraW5nQWRkcmVzcwEPX3N0YWtpbmdBZGRyZXNzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEDnN0YWtpbmdBZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQ9fc3Rha2luZ0FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgURa19zdGFraW5nX2FkZHJlc3MFD19zdGFraW5nQWRkcmVzcwUDbmlsAWkBBmFkZEFtbQILX2FtbUFkZHJlc3MFX2RhdGEJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQKYW1tQWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQULX2FtbUFkZHJlc3MJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQ50b0NvbXBvc2l0ZUtleQIFBWtfYW1tBQtfYW1tQWRkcmVzcwYJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDnRvQ29tcG9zaXRlS2V5AgUKa19hbW1fZGF0YQULX2FtbUFkZHJlc3MFBV9kYXRhBQNuaWwBaQEJcmVtb3ZlQW1tAQtfYW1tQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpCQDMCAIJAQtEZWxldGVFbnRyeQEJAQ50b0NvbXBvc2l0ZUtleQIFBWtfYW1tBQtfYW1tQWRkcmVzcwUDbmlsAWkBEnNldEdvdmVybmFuY2VBc3NldAEIX2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQKYXNzZXRCeXRlcwkA2QQBBQhfYXNzZXRJZAQHJG1hdGNoMAkA7AcBBQphc3NldEJ5dGVzAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAMJAQIhPQIIBQVhc3NldAhkZWNpbWFscwAICQACAQIjSW52YWxpZCBhc3NldCBkZWNpbWFscywgc2hvdWxkIGJlIDgJAMwIAgkBC1N0cmluZ0VudHJ5AgUSa19nb3Zlcm5hbmNlX2Fzc2V0BQhfYXNzZXRJZAUDbmlsCQACAQIQQ2FuJ3QgZmluZCBhc3NldAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAJANkEAQkBDmFkbWluUHVibGljS2V5ABECG0Y=", "height": 2281111, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HWedUDuC3tTJDKKz4VaZQcbAQnNpxhMp9rL1WG3eiGLR Next: CUZEiCgosrwb7EJfzgaULvb6q2kbZ9Uo5KQVkqyWFDL4 Diff:
OldNewDifferences
1515
1616 let g = "k_farming_address"
1717
18-let h = "k_amm"
18+let h = "k_housekeeper_address"
1919
20-let i = "k_amm_data"
20+let i = "k_amm"
2121
22-let j = "k_gov_asset"
22+let j = "k_amm_data"
2323
24-let k = "k_miner_address"
24+let k = "k_gov_asset"
2525
26-let l = "k_orders_address"
26+let l = "k_miner_address"
2727
28-let m = "k_referral_address"
28+let m = "k_orders_address"
2929
30-let n = "k_manager_address"
30+let n = "k_referral_address"
3131
32-func o (p,q) = ((p + "_") + q)
32+let o = "k_manager_address"
33+
34+func p (q,r) = ((q + "_") + r)
3335
3436
35-func r (s) = toString(valueOrErrorMessage(addressFromString(s), (("Can't parse \"" + s) + "\" as address")))
37+func s (t) = toString(valueOrErrorMessage(addressFromString(t), (("Can't parse \"" + t) + "\" as address")))
3638
3739
38-func t () = getStringValue(this, c)
40+func u () = getStringValue(this, c)
3941
4042
41-func u () = (getString(this, b) == unit)
43+func v () = (getString(this, b) == unit)
4244
4345
44-func v () = addressFromStringValue(valueOrErrorMessage(getString(this, b), "Admin not defined"))
46+func w () = addressFromStringValue(valueOrErrorMessage(getString(this, b), "Admin not defined"))
4547
4648
47-func w (x) = if (if (u())
49+func x (y) = if (if (v())
4850 then true
49- else (x.caller == v()))
51+ else (y.caller == w()))
5052 then unit
5153 else throw("Only the Admin itself can invoke this function")
5254
5355
54-func y (x) = if ((x.caller == v()))
56+func z (y) = if ((y.caller == w()))
5557 then unit
5658 else throw("Only the Admin itself can invoke this function")
5759
5860
59-@Callable(x)
60-func setAdmin (z) = valueOrElse(w(x), {
61- let A = fromBase58String(z)
62- let s = addressFromPublicKey(A)
63-[StringEntry(b, toString(s)), StringEntry(c, z)]
61+@Callable(y)
62+func setAdmin (A) = valueOrElse(x(y), {
63+ let B = fromBase58String(A)
64+ let t = addressFromPublicKey(B)
65+[StringEntry(b, toString(t)), StringEntry(c, A)]
6466 })
6567
6668
6769
68-@Callable(x)
69-func setInsuranceFund (B) = valueOrElse(y(x), {
70- let s = r(B)
71-[StringEntry(a, s)]
70+@Callable(y)
71+func setInsuranceFund (C) = valueOrElse(z(y), {
72+ let t = s(C)
73+[StringEntry(a, t)]
7274 })
7375
7476
7577
76-@Callable(x)
77-func setLiquidityMiner (C) = valueOrElse(y(x), {
78- let s = r(C)
79-[StringEntry(k, s)]
78+@Callable(y)
79+func setLiquidityMiner (D) = valueOrElse(z(y), {
80+ let t = s(D)
81+[StringEntry(l, t)]
8082 })
8183
8284
8385
84-@Callable(x)
85-func setOrders (D) = valueOrElse(y(x), {
86- let s = r(D)
87-[StringEntry(l, s)]
86+@Callable(y)
87+func setOrders (E) = valueOrElse(z(y), {
88+ let t = s(E)
89+[StringEntry(m, t)]
8890 })
8991
9092
9193
92-@Callable(x)
93-func setReferral (E) = valueOrElse(y(x), {
94- let s = r(E)
95-[StringEntry(m, s)]
94+@Callable(y)
95+func setReferral (F) = valueOrElse(z(y), {
96+ let t = s(F)
97+[StringEntry(n, t)]
9698 })
9799
98100
99101
100-@Callable(x)
101-func setFarming (F) = valueOrElse(y(x), {
102- let s = r(F)
103-[StringEntry(g, s)]
102+@Callable(y)
103+func setFarming (G) = valueOrElse(z(y), {
104+ let t = s(G)
105+[StringEntry(g, t)]
104106 })
105107
106108
107109
108-@Callable(x)
109-func setManager (G) = valueOrElse(y(x), {
110- let s = r(G)
111-[StringEntry(n, s)]
110+@Callable(y)
111+func setManager (H) = valueOrElse(z(y), {
112+ let t = s(H)
113+[StringEntry(o, t)]
112114 })
113115
114116
115117
116-@Callable(x)
117-func setQuoteAsset (H,I) = valueOrElse(y(x), {
118- let J = r(I)
119-[StringEntry(d, H), StringEntry(e, I)]
118+@Callable(y)
119+func setHousekeeper (I) = valueOrElse(z(y), {
120+ let t = s(I)
121+[StringEntry(h, t)]
120122 })
121123
122124
123125
124-@Callable(x)
125-func setStakingAddress (I) = valueOrElse(y(x), {
126- let J = r(I)
127-[StringEntry(f, I)]
126+@Callable(y)
127+func setQuoteAsset (J,K) = valueOrElse(z(y), {
128+ let L = s(K)
129+[StringEntry(d, J), StringEntry(e, K)]
128130 })
129131
130132
131133
132-@Callable(x)
133-func addAmm (K,L) = valueOrElse(y(x), {
134- let M = r(K)
135-[BooleanEntry(o(h, K), true), StringEntry(o(i, K), L)]
134+@Callable(y)
135+func setStakingAddress (K) = valueOrElse(z(y), {
136+ let L = s(K)
137+[StringEntry(f, K)]
136138 })
137139
138140
139141
140-@Callable(x)
141-func removeAmm (K) = valueOrElse(y(x), [DeleteEntry(o(h, K))])
142+@Callable(y)
143+func addAmm (M,N) = valueOrElse(z(y), {
144+ let O = s(M)
145+[BooleanEntry(p(i, M), true), StringEntry(p(j, M), N)]
146+ })
142147
143148
144149
145-@Callable(x)
146-func setGovernanceAsset (H) = valueOrElse(y(x), {
147- let N = fromBase58String(H)
148- let O = assetInfo(N)
149- if ($isInstanceOf(O, "Asset"))
150+@Callable(y)
151+func removeAmm (M) = valueOrElse(z(y), [DeleteEntry(p(i, M))])
152+
153+
154+
155+@Callable(y)
156+func setGovernanceAsset (J) = valueOrElse(z(y), {
157+ let P = fromBase58String(J)
158+ let Q = assetInfo(P)
159+ if ($isInstanceOf(Q, "Asset"))
150160 then {
151- let P = O
152- if ((P.decimals != 8))
161+ let R = Q
162+ if ((R.decimals != 8))
153163 then throw("Invalid asset decimals, should be 8")
154- else [StringEntry(j, H)]
164+ else [StringEntry(k, J)]
155165 }
156166 else throw("Can't find asset")
157167 })
158168
159169
160-@Verifier(Q)
161-func R () = sigVerify(Q.bodyBytes, Q.proofs[0], fromBase58String(t()))
170+@Verifier(S)
171+func T () = sigVerify(S.bodyBytes, S.proofs[0], fromBase58String(u()))
162172
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "k_insurance_address"
55
66 let b = "k_admin_address"
77
88 let c = "k_admin_public_key"
99
1010 let d = "k_quote_asset"
1111
1212 let e = "k_quote_staking"
1313
1414 let f = "k_staking_address"
1515
1616 let g = "k_farming_address"
1717
18-let h = "k_amm"
18+let h = "k_housekeeper_address"
1919
20-let i = "k_amm_data"
20+let i = "k_amm"
2121
22-let j = "k_gov_asset"
22+let j = "k_amm_data"
2323
24-let k = "k_miner_address"
24+let k = "k_gov_asset"
2525
26-let l = "k_orders_address"
26+let l = "k_miner_address"
2727
28-let m = "k_referral_address"
28+let m = "k_orders_address"
2929
30-let n = "k_manager_address"
30+let n = "k_referral_address"
3131
32-func o (p,q) = ((p + "_") + q)
32+let o = "k_manager_address"
33+
34+func p (q,r) = ((q + "_") + r)
3335
3436
35-func r (s) = toString(valueOrErrorMessage(addressFromString(s), (("Can't parse \"" + s) + "\" as address")))
37+func s (t) = toString(valueOrErrorMessage(addressFromString(t), (("Can't parse \"" + t) + "\" as address")))
3638
3739
38-func t () = getStringValue(this, c)
40+func u () = getStringValue(this, c)
3941
4042
41-func u () = (getString(this, b) == unit)
43+func v () = (getString(this, b) == unit)
4244
4345
44-func v () = addressFromStringValue(valueOrErrorMessage(getString(this, b), "Admin not defined"))
46+func w () = addressFromStringValue(valueOrErrorMessage(getString(this, b), "Admin not defined"))
4547
4648
47-func w (x) = if (if (u())
49+func x (y) = if (if (v())
4850 then true
49- else (x.caller == v()))
51+ else (y.caller == w()))
5052 then unit
5153 else throw("Only the Admin itself can invoke this function")
5254
5355
54-func y (x) = if ((x.caller == v()))
56+func z (y) = if ((y.caller == w()))
5557 then unit
5658 else throw("Only the Admin itself can invoke this function")
5759
5860
59-@Callable(x)
60-func setAdmin (z) = valueOrElse(w(x), {
61- let A = fromBase58String(z)
62- let s = addressFromPublicKey(A)
63-[StringEntry(b, toString(s)), StringEntry(c, z)]
61+@Callable(y)
62+func setAdmin (A) = valueOrElse(x(y), {
63+ let B = fromBase58String(A)
64+ let t = addressFromPublicKey(B)
65+[StringEntry(b, toString(t)), StringEntry(c, A)]
6466 })
6567
6668
6769
68-@Callable(x)
69-func setInsuranceFund (B) = valueOrElse(y(x), {
70- let s = r(B)
71-[StringEntry(a, s)]
70+@Callable(y)
71+func setInsuranceFund (C) = valueOrElse(z(y), {
72+ let t = s(C)
73+[StringEntry(a, t)]
7274 })
7375
7476
7577
76-@Callable(x)
77-func setLiquidityMiner (C) = valueOrElse(y(x), {
78- let s = r(C)
79-[StringEntry(k, s)]
78+@Callable(y)
79+func setLiquidityMiner (D) = valueOrElse(z(y), {
80+ let t = s(D)
81+[StringEntry(l, t)]
8082 })
8183
8284
8385
84-@Callable(x)
85-func setOrders (D) = valueOrElse(y(x), {
86- let s = r(D)
87-[StringEntry(l, s)]
86+@Callable(y)
87+func setOrders (E) = valueOrElse(z(y), {
88+ let t = s(E)
89+[StringEntry(m, t)]
8890 })
8991
9092
9193
92-@Callable(x)
93-func setReferral (E) = valueOrElse(y(x), {
94- let s = r(E)
95-[StringEntry(m, s)]
94+@Callable(y)
95+func setReferral (F) = valueOrElse(z(y), {
96+ let t = s(F)
97+[StringEntry(n, t)]
9698 })
9799
98100
99101
100-@Callable(x)
101-func setFarming (F) = valueOrElse(y(x), {
102- let s = r(F)
103-[StringEntry(g, s)]
102+@Callable(y)
103+func setFarming (G) = valueOrElse(z(y), {
104+ let t = s(G)
105+[StringEntry(g, t)]
104106 })
105107
106108
107109
108-@Callable(x)
109-func setManager (G) = valueOrElse(y(x), {
110- let s = r(G)
111-[StringEntry(n, s)]
110+@Callable(y)
111+func setManager (H) = valueOrElse(z(y), {
112+ let t = s(H)
113+[StringEntry(o, t)]
112114 })
113115
114116
115117
116-@Callable(x)
117-func setQuoteAsset (H,I) = valueOrElse(y(x), {
118- let J = r(I)
119-[StringEntry(d, H), StringEntry(e, I)]
118+@Callable(y)
119+func setHousekeeper (I) = valueOrElse(z(y), {
120+ let t = s(I)
121+[StringEntry(h, t)]
120122 })
121123
122124
123125
124-@Callable(x)
125-func setStakingAddress (I) = valueOrElse(y(x), {
126- let J = r(I)
127-[StringEntry(f, I)]
126+@Callable(y)
127+func setQuoteAsset (J,K) = valueOrElse(z(y), {
128+ let L = s(K)
129+[StringEntry(d, J), StringEntry(e, K)]
128130 })
129131
130132
131133
132-@Callable(x)
133-func addAmm (K,L) = valueOrElse(y(x), {
134- let M = r(K)
135-[BooleanEntry(o(h, K), true), StringEntry(o(i, K), L)]
134+@Callable(y)
135+func setStakingAddress (K) = valueOrElse(z(y), {
136+ let L = s(K)
137+[StringEntry(f, K)]
136138 })
137139
138140
139141
140-@Callable(x)
141-func removeAmm (K) = valueOrElse(y(x), [DeleteEntry(o(h, K))])
142+@Callable(y)
143+func addAmm (M,N) = valueOrElse(z(y), {
144+ let O = s(M)
145+[BooleanEntry(p(i, M), true), StringEntry(p(j, M), N)]
146+ })
142147
143148
144149
145-@Callable(x)
146-func setGovernanceAsset (H) = valueOrElse(y(x), {
147- let N = fromBase58String(H)
148- let O = assetInfo(N)
149- if ($isInstanceOf(O, "Asset"))
150+@Callable(y)
151+func removeAmm (M) = valueOrElse(z(y), [DeleteEntry(p(i, M))])
152+
153+
154+
155+@Callable(y)
156+func setGovernanceAsset (J) = valueOrElse(z(y), {
157+ let P = fromBase58String(J)
158+ let Q = assetInfo(P)
159+ if ($isInstanceOf(Q, "Asset"))
150160 then {
151- let P = O
152- if ((P.decimals != 8))
161+ let R = Q
162+ if ((R.decimals != 8))
153163 then throw("Invalid asset decimals, should be 8")
154- else [StringEntry(j, H)]
164+ else [StringEntry(k, J)]
155165 }
156166 else throw("Can't find asset")
157167 })
158168
159169
160-@Verifier(Q)
161-func R () = sigVerify(Q.bodyBytes, Q.proofs[0], fromBase58String(t()))
170+@Verifier(S)
171+func T () = sigVerify(S.bodyBytes, S.proofs[0], fromBase58String(u()))
162172

github/deemru/w8io/169f3d6 
56.06 ms