tx · Atujbkv7E2XksrY1XPzZ2U3C5VrLfbh4EGrAjzoTCvbM

3MxXA443AARoS3rQ9RNdPeBur74yBTCTyxJ:  -0.03400000 Waves

2022.11.10 12:48 [2310894] smart account 3MxXA443AARoS3rQ9RNdPeBur74yBTCTyxJ > SELF 0.00000000 Waves

{ "type": 13, "id": "Atujbkv7E2XksrY1XPzZ2U3C5VrLfbh4EGrAjzoTCvbM", "fee": 3400000, "feeAssetId": null, "timestamp": 1668073799879, "version": 2, "chainId": 84, "sender": "3MxXA443AARoS3rQ9RNdPeBur74yBTCTyxJ", "senderPublicKey": "Dhf95pPhxwKtWsqgf6tyeDW2xpQA7TvM8nTwbwgqKjkd", "proofs": [ "B6bgQCu9kzp8ALY21AoQWTvgsK6AUDT8HmWmQaZ2nj2h2tgNiXLDLREnKAGZF1BJKgEpr3mwvU5JVNi39v8pMDT" ], "script": "base64:BgJZCAISAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIECgIICBIDCgEIEgMKAQgSAwoBCBIECgIICBIDCgEIEgMKAQgaABNrX2luc3VyYW5jZV9hZGRyZXNzAhNrX2luc3VyYW5jZV9hZGRyZXNzAA9rX2FkbWluX2FkZHJlc3MCD2tfYWRtaW5fYWRkcmVzcwASa19hZG1pbl9wdWJsaWNfa2V5AhJrX2FkbWluX3B1YmxpY19rZXkADWtfcXVvdGVfYXNzZXQCDWtfcXVvdGVfYXNzZXQAD2tfcXVvdGVfc3Rha2luZwIPa19xdW90ZV9zdGFraW5nABFrX3N0YWtpbmdfYWRkcmVzcwIRa19zdGFraW5nX2FkZHJlc3MAEWtfZmFybWluZ19hZGRyZXNzAhFrX2Zhcm1pbmdfYWRkcmVzcwAQa19wcml6ZXNfYWRkcmVzcwIQa19wcml6ZXNfYWRkcmVzcwAVa19ob3VzZWtlZXBlcl9hZGRyZXNzAhVrX2hvdXNla2VlcGVyX2FkZHJlc3MABWtfYW1tAgVrX2FtbQAKa19hbW1fZGF0YQIKa19hbW1fZGF0YQASa19nb3Zlcm5hbmNlX2Fzc2V0AgtrX2dvdl9hc3NldAAPa19taW5lcl9hZGRyZXNzAg9rX21pbmVyX2FkZHJlc3MAEGtfb3JkZXJzX2FkZHJlc3MCEGtfb3JkZXJzX2FkZHJlc3MAEmtfcmVmZXJyYWxfYWRkcmVzcwISa19yZWZlcnJhbF9hZGRyZXNzABFrX21hbmFnZXJfYWRkcmVzcwIRa19tYW5hZ2VyX2FkZHJlc3MAFWtfbmZ0X21hbmFnZXJfYWRkcmVzcwIVa19uZnRfbWFuYWdlcl9hZGRyZXNzABRrX2NvbGxhdGVyYWxfYWRkcmVzcwIUa19jb2xsYXRlcmFsX2FkZHJlc3MAEmtfZXhjaGFuZ2VfYWRkcmVzcwISa19leGNoYW5nZV9hZGRyZXNzAQ50b0NvbXBvc2l0ZUtleQIEX2tleQhfYWRkcmVzcwkArAICCQCsAgIFBF9rZXkCAV8FCF9hZGRyZXNzARFnZXRBZGRyZXNzSWZWYWxpZAEHYWRkcmVzcwkApQgBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQUHYWRkcmVzcwkArAICCQCsAgICDUNhbid0IHBhcnNlICIFB2FkZHJlc3MCDCIgYXMgYWRkcmVzcwEOYWRtaW5QdWJsaWNLZXkACQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzBRJrX2FkbWluX3B1YmxpY19rZXkBCWlzTm9BZG1pbgAJAAACCQCdCAIFBHRoaXMFD2tfYWRtaW5fYWRkcmVzcwUEdW5pdAEFYWRtaW4ACQERQGV4dHJOYXRpdmUoMTA2MikBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUEdGhpcwUPa19hZG1pbl9hZGRyZXNzAhFBZG1pbiBub3QgZGVmaW5lZAEQaXNOb0FkbWluT3JBZG1pbgEBaQMDCQEJaXNOb0FkbWluAAYJAAACCAUBaQZjYWxsZXIJAQVhZG1pbgAFBHVuaXQJAAIBAi5Pbmx5IHRoZSBBZG1pbiBpdHNlbGYgY2FuIGludm9rZSB0aGlzIGZ1bmN0aW9uAQdpc0FkbWluAQFpAwkAAAIIBQFpBmNhbGxlcgkBBWFkbWluAAUEdW5pdAkAAgECLk9ubHkgdGhlIEFkbWluIGl0c2VsZiBjYW4gaW52b2tlIHRoaXMgZnVuY3Rpb24RAWkBCHNldEFkbWluAQ9fYWRtaW5QdWJsaWNLZXkJAQt2YWx1ZU9yRWxzZQIJARBpc05vQWRtaW5PckFkbWluAQUBaQQFYnl0ZXMJANkEAQUPX2FkbWluUHVibGljS2V5BAdhZGRyZXNzCQCnCAEFBWJ5dGVzCQDMCAIJAQtTdHJpbmdFbnRyeQIFD2tfYWRtaW5fYWRkcmVzcwkApQgBBQdhZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIFEmtfYWRtaW5fcHVibGljX2tleQUPX2FkbWluUHVibGljS2V5BQNuaWwBaQEQc2V0SW5zdXJhbmNlRnVuZAEOX2luc3VyYW5jZUZ1bmQJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQHYWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUOX2luc3VyYW5jZUZ1bmQJAMwIAgkBC1N0cmluZ0VudHJ5AgUTa19pbnN1cmFuY2VfYWRkcmVzcwUHYWRkcmVzcwUDbmlsAWkBEXNldExpcXVpZGl0eU1pbmVyAQ9fbGlxdWlkaXR5TWluZXIJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQHYWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUPX2xpcXVpZGl0eU1pbmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIFD2tfbWluZXJfYWRkcmVzcwUHYWRkcmVzcwUDbmlsAWkBCXNldE9yZGVycwEHX29yZGVycwkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAdhZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQdfb3JkZXJzCQDMCAIJAQtTdHJpbmdFbnRyeQIFEGtfb3JkZXJzX2FkZHJlc3MFB2FkZHJlc3MFA25pbAFpAQtzZXRSZWZlcnJhbAEJX3JlZmVycmFsCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEB2FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFCV9yZWZlcnJhbAkAzAgCCQELU3RyaW5nRW50cnkCBRJrX3JlZmVycmFsX2FkZHJlc3MFB2FkZHJlc3MFA25pbAFpAQpzZXRGYXJtaW5nAQhfZmFybWluZwkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAdhZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQhfZmFybWluZwkAzAgCCQELU3RyaW5nRW50cnkCBRFrX2Zhcm1pbmdfYWRkcmVzcwUHYWRkcmVzcwUDbmlsAWkBCnNldE1hbmFnZXIBCF9tYW5hZ2VyCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEB2FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFCF9tYW5hZ2VyCQDMCAIJAQtTdHJpbmdFbnRyeQIFEWtfbWFuYWdlcl9hZGRyZXNzBQdhZGRyZXNzBQNuaWwBaQEOc2V0SG91c2VrZWVwZXIBDF9ob3VzZWtlZXBlcgkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAdhZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQxfaG91c2VrZWVwZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgUVa19ob3VzZWtlZXBlcl9hZGRyZXNzBQdhZGRyZXNzBQNuaWwBaQEJc2V0UHJpemVzAQdfcHJpemVzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEB2FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFB19wcml6ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgUQa19wcml6ZXNfYWRkcmVzcwUHYWRkcmVzcwUDbmlsAWkBDXNldE5mdE1hbmFnZXIBC19uZnRNYW5hZ2VyCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEB2FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFC19uZnRNYW5hZ2VyCQDMCAIJAQtTdHJpbmdFbnRyeQIFFWtfbmZ0X21hbmFnZXJfYWRkcmVzcwUHYWRkcmVzcwUDbmlsAWkBDXNldFF1b3RlQXNzZXQCCF9hc3NldElkD19zdGFraW5nQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBA5zdGFraW5nQWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUPX3N0YWtpbmdBZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIFDWtfcXVvdGVfYXNzZXQFCF9hc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIFD2tfcXVvdGVfc3Rha2luZwUPX3N0YWtpbmdBZGRyZXNzBQNuaWwBaQERc2V0U3Rha2luZ0FkZHJlc3MBD19zdGFraW5nQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBA5zdGFraW5nQWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUPX3N0YWtpbmdBZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIFEWtfc3Rha2luZ19hZGRyZXNzBQ9fc3Rha2luZ0FkZHJlc3MFA25pbAFpARRzZXRDb2xsYXRlcmFsQWRkcmVzcwESX2NvbGxhdGVyYWxBZGRyZXNzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEEWNvbGxhdGVyYWxBZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBRJfY29sbGF0ZXJhbEFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUUa19jb2xsYXRlcmFsX2FkZHJlc3MFEl9jb2xsYXRlcmFsQWRkcmVzcwUDbmlsAWkBEnNldEV4Y2hhbmdlQWRkcmVzcwEQX2V4Y2hhbmdlQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBA9leGNoYW5nZUFkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFEF9leGNoYW5nZUFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUSa19leGNoYW5nZV9hZGRyZXNzBRBfZXhjaGFuZ2VBZGRyZXNzBQNuaWwBaQEGYWRkQW1tAgtfYW1tQWRkcmVzcwVfZGF0YQkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAphbW1BZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQtfYW1tQWRkcmVzcwkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBDnRvQ29tcG9zaXRlS2V5AgUFa19hbW0FC19hbW1BZGRyZXNzBgkAzAgCCQELU3RyaW5nRW50cnkCCQEOdG9Db21wb3NpdGVLZXkCBQprX2FtbV9kYXRhBQtfYW1tQWRkcmVzcwUFX2RhdGEFA25pbAFpAQlyZW1vdmVBbW0BC19hbW1BZGRyZXNzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBDnRvQ29tcG9zaXRlS2V5AgUFa19hbW0FC19hbW1BZGRyZXNzBQNuaWwBaQESc2V0R292ZXJuYW5jZUFzc2V0AQhfYXNzZXRJZAkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAphc3NldEJ5dGVzCQDZBAEFCF9hc3NldElkBAckbWF0Y2gwCQDsBwEFCmFzc2V0Qnl0ZXMDCQABAgUHJG1hdGNoMAIFQXNzZXQEBWFzc2V0BQckbWF0Y2gwAwkBAiE9AggFBWFzc2V0CGRlY2ltYWxzAAgJAAIBAiNJbnZhbGlkIGFzc2V0IGRlY2ltYWxzLCBzaG91bGQgYmUgOAkAzAgCCQELU3RyaW5nRW50cnkCBRJrX2dvdmVybmFuY2VfYXNzZXQFCF9hc3NldElkBQNuaWwJAAIBAhBDYW4ndCBmaW5kIGFzc2V0AQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAkA2QQBCQEOYWRtaW5QdWJsaWNLZXkA+JaTYg==", "height": 2310894, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 74ZhAmfi8xk6M8z9Gv8fQfDwQCGo2nYy6BjWwbCHoMUu Next: FR9hkoL5DYtMkN9PmCmvHF2wymRKksghPECaUoje9zQS Diff:
OldNewDifferences
1515
1616 let g = "k_farming_address"
1717
18-let h = "k_housekeeper_address"
18+let h = "k_prizes_address"
1919
20-let i = "k_amm"
20+let i = "k_housekeeper_address"
2121
22-let j = "k_amm_data"
22+let j = "k_amm"
2323
24-let k = "k_gov_asset"
24+let k = "k_amm_data"
2525
26-let l = "k_miner_address"
26+let l = "k_gov_asset"
2727
28-let m = "k_orders_address"
28+let m = "k_miner_address"
2929
30-let n = "k_referral_address"
30+let n = "k_orders_address"
3131
32-let o = "k_manager_address"
32+let o = "k_referral_address"
3333
34-func p (q,r) = ((q + "_") + r)
34+let p = "k_manager_address"
35+
36+let q = "k_nft_manager_address"
37+
38+let r = "k_collateral_address"
39+
40+let s = "k_exchange_address"
41+
42+func t (u,v) = ((u + "_") + v)
3543
3644
37-func s (t) = toString(valueOrErrorMessage(addressFromString(t), (("Can't parse \"" + t) + "\" as address")))
45+func w (x) = toString(valueOrErrorMessage(addressFromString(x), (("Can't parse \"" + x) + "\" as address")))
3846
3947
40-func u () = getStringValue(this, c)
48+func y () = getStringValue(this, c)
4149
4250
43-func v () = (getString(this, b) == unit)
51+func z () = (getString(this, b) == unit)
4452
4553
46-func w () = addressFromStringValue(valueOrErrorMessage(getString(this, b), "Admin not defined"))
54+func A () = addressFromStringValue(valueOrErrorMessage(getString(this, b), "Admin not defined"))
4755
4856
49-func x (y) = if (if (v())
57+func B (C) = if (if (z())
5058 then true
51- else (y.caller == w()))
59+ else (C.caller == A()))
5260 then unit
5361 else throw("Only the Admin itself can invoke this function")
5462
5563
56-func z (y) = if ((y.caller == w()))
64+func D (C) = if ((C.caller == A()))
5765 then unit
5866 else throw("Only the Admin itself can invoke this function")
5967
6068
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)]
69+@Callable(C)
70+func setAdmin (E) = valueOrElse(B(C), {
71+ let F = fromBase58String(E)
72+ let x = addressFromPublicKey(F)
73+[StringEntry(b, toString(x)), StringEntry(c, E)]
6674 })
6775
6876
6977
70-@Callable(y)
71-func setInsuranceFund (C) = valueOrElse(z(y), {
72- let t = s(C)
73-[StringEntry(a, t)]
78+@Callable(C)
79+func setInsuranceFund (G) = valueOrElse(D(C), {
80+ let x = w(G)
81+[StringEntry(a, x)]
7482 })
7583
7684
7785
78-@Callable(y)
79-func setLiquidityMiner (D) = valueOrElse(z(y), {
80- let t = s(D)
81-[StringEntry(l, t)]
86+@Callable(C)
87+func setLiquidityMiner (H) = valueOrElse(D(C), {
88+ let x = w(H)
89+[StringEntry(m, x)]
8290 })
8391
8492
8593
86-@Callable(y)
87-func setOrders (E) = valueOrElse(z(y), {
88- let t = s(E)
89-[StringEntry(m, t)]
94+@Callable(C)
95+func setOrders (I) = valueOrElse(D(C), {
96+ let x = w(I)
97+[StringEntry(n, x)]
9098 })
9199
92100
93101
94-@Callable(y)
95-func setReferral (F) = valueOrElse(z(y), {
96- let t = s(F)
97-[StringEntry(n, t)]
102+@Callable(C)
103+func setReferral (J) = valueOrElse(D(C), {
104+ let x = w(J)
105+[StringEntry(o, x)]
98106 })
99107
100108
101109
102-@Callable(y)
103-func setFarming (G) = valueOrElse(z(y), {
104- let t = s(G)
105-[StringEntry(g, t)]
110+@Callable(C)
111+func setFarming (K) = valueOrElse(D(C), {
112+ let x = w(K)
113+[StringEntry(g, x)]
106114 })
107115
108116
109117
110-@Callable(y)
111-func setManager (H) = valueOrElse(z(y), {
112- let t = s(H)
113-[StringEntry(o, t)]
118+@Callable(C)
119+func setManager (L) = valueOrElse(D(C), {
120+ let x = w(L)
121+[StringEntry(p, x)]
114122 })
115123
116124
117125
118-@Callable(y)
119-func setHousekeeper (I) = valueOrElse(z(y), {
120- let t = s(I)
121-[StringEntry(h, t)]
126+@Callable(C)
127+func setHousekeeper (M) = valueOrElse(D(C), {
128+ let x = w(M)
129+[StringEntry(i, x)]
122130 })
123131
124132
125133
126-@Callable(y)
127-func setQuoteAsset (J,K) = valueOrElse(z(y), {
128- let L = s(K)
129-[StringEntry(d, J), StringEntry(e, K)]
134+@Callable(C)
135+func setPrizes (N) = valueOrElse(D(C), {
136+ let x = w(N)
137+[StringEntry(h, x)]
130138 })
131139
132140
133141
134-@Callable(y)
135-func setStakingAddress (K) = valueOrElse(z(y), {
136- let L = s(K)
137-[StringEntry(f, K)]
142+@Callable(C)
143+func setNftManager (O) = valueOrElse(D(C), {
144+ let x = w(O)
145+[StringEntry(q, x)]
138146 })
139147
140148
141149
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)]
150+@Callable(C)
151+func setQuoteAsset (P,Q) = valueOrElse(D(C), {
152+ let R = w(Q)
153+[StringEntry(d, P), StringEntry(e, Q)]
146154 })
147155
148156
149157
150-@Callable(y)
151-func removeAmm (M) = valueOrElse(z(y), [DeleteEntry(p(i, M))])
158+@Callable(C)
159+func setStakingAddress (Q) = valueOrElse(D(C), {
160+ let R = w(Q)
161+[StringEntry(f, Q)]
162+ })
152163
153164
154165
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"))
166+@Callable(C)
167+func setCollateralAddress (S) = valueOrElse(D(C), {
168+ let T = w(S)
169+[StringEntry(r, S)]
170+ })
171+
172+
173+
174+@Callable(C)
175+func setExchangeAddress (U) = valueOrElse(D(C), {
176+ let V = w(U)
177+[StringEntry(s, U)]
178+ })
179+
180+
181+
182+@Callable(C)
183+func addAmm (W,X) = valueOrElse(D(C), {
184+ let Y = w(W)
185+[BooleanEntry(t(j, W), true), StringEntry(t(k, W), X)]
186+ })
187+
188+
189+
190+@Callable(C)
191+func removeAmm (W) = valueOrElse(D(C), [DeleteEntry(t(j, W))])
192+
193+
194+
195+@Callable(C)
196+func setGovernanceAsset (P) = valueOrElse(D(C), {
197+ let Z = fromBase58String(P)
198+ let aa = assetInfo(Z)
199+ if ($isInstanceOf(aa, "Asset"))
160200 then {
161- let R = Q
162- if ((R.decimals != 8))
201+ let ab = aa
202+ if ((ab.decimals != 8))
163203 then throw("Invalid asset decimals, should be 8")
164- else [StringEntry(k, J)]
204+ else [StringEntry(l, P)]
165205 }
166206 else throw("Can't find asset")
167207 })
168208
169209
170-@Verifier(S)
171-func T () = sigVerify(S.bodyBytes, S.proofs[0], fromBase58String(u()))
210+@Verifier(ac)
211+func ad () = sigVerify(ac.bodyBytes, ac.proofs[0], fromBase58String(y()))
172212
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_housekeeper_address"
18+let h = "k_prizes_address"
1919
20-let i = "k_amm"
20+let i = "k_housekeeper_address"
2121
22-let j = "k_amm_data"
22+let j = "k_amm"
2323
24-let k = "k_gov_asset"
24+let k = "k_amm_data"
2525
26-let l = "k_miner_address"
26+let l = "k_gov_asset"
2727
28-let m = "k_orders_address"
28+let m = "k_miner_address"
2929
30-let n = "k_referral_address"
30+let n = "k_orders_address"
3131
32-let o = "k_manager_address"
32+let o = "k_referral_address"
3333
34-func p (q,r) = ((q + "_") + r)
34+let p = "k_manager_address"
35+
36+let q = "k_nft_manager_address"
37+
38+let r = "k_collateral_address"
39+
40+let s = "k_exchange_address"
41+
42+func t (u,v) = ((u + "_") + v)
3543
3644
37-func s (t) = toString(valueOrErrorMessage(addressFromString(t), (("Can't parse \"" + t) + "\" as address")))
45+func w (x) = toString(valueOrErrorMessage(addressFromString(x), (("Can't parse \"" + x) + "\" as address")))
3846
3947
40-func u () = getStringValue(this, c)
48+func y () = getStringValue(this, c)
4149
4250
43-func v () = (getString(this, b) == unit)
51+func z () = (getString(this, b) == unit)
4452
4553
46-func w () = addressFromStringValue(valueOrErrorMessage(getString(this, b), "Admin not defined"))
54+func A () = addressFromStringValue(valueOrErrorMessage(getString(this, b), "Admin not defined"))
4755
4856
49-func x (y) = if (if (v())
57+func B (C) = if (if (z())
5058 then true
51- else (y.caller == w()))
59+ else (C.caller == A()))
5260 then unit
5361 else throw("Only the Admin itself can invoke this function")
5462
5563
56-func z (y) = if ((y.caller == w()))
64+func D (C) = if ((C.caller == A()))
5765 then unit
5866 else throw("Only the Admin itself can invoke this function")
5967
6068
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)]
69+@Callable(C)
70+func setAdmin (E) = valueOrElse(B(C), {
71+ let F = fromBase58String(E)
72+ let x = addressFromPublicKey(F)
73+[StringEntry(b, toString(x)), StringEntry(c, E)]
6674 })
6775
6876
6977
70-@Callable(y)
71-func setInsuranceFund (C) = valueOrElse(z(y), {
72- let t = s(C)
73-[StringEntry(a, t)]
78+@Callable(C)
79+func setInsuranceFund (G) = valueOrElse(D(C), {
80+ let x = w(G)
81+[StringEntry(a, x)]
7482 })
7583
7684
7785
78-@Callable(y)
79-func setLiquidityMiner (D) = valueOrElse(z(y), {
80- let t = s(D)
81-[StringEntry(l, t)]
86+@Callable(C)
87+func setLiquidityMiner (H) = valueOrElse(D(C), {
88+ let x = w(H)
89+[StringEntry(m, x)]
8290 })
8391
8492
8593
86-@Callable(y)
87-func setOrders (E) = valueOrElse(z(y), {
88- let t = s(E)
89-[StringEntry(m, t)]
94+@Callable(C)
95+func setOrders (I) = valueOrElse(D(C), {
96+ let x = w(I)
97+[StringEntry(n, x)]
9098 })
9199
92100
93101
94-@Callable(y)
95-func setReferral (F) = valueOrElse(z(y), {
96- let t = s(F)
97-[StringEntry(n, t)]
102+@Callable(C)
103+func setReferral (J) = valueOrElse(D(C), {
104+ let x = w(J)
105+[StringEntry(o, x)]
98106 })
99107
100108
101109
102-@Callable(y)
103-func setFarming (G) = valueOrElse(z(y), {
104- let t = s(G)
105-[StringEntry(g, t)]
110+@Callable(C)
111+func setFarming (K) = valueOrElse(D(C), {
112+ let x = w(K)
113+[StringEntry(g, x)]
106114 })
107115
108116
109117
110-@Callable(y)
111-func setManager (H) = valueOrElse(z(y), {
112- let t = s(H)
113-[StringEntry(o, t)]
118+@Callable(C)
119+func setManager (L) = valueOrElse(D(C), {
120+ let x = w(L)
121+[StringEntry(p, x)]
114122 })
115123
116124
117125
118-@Callable(y)
119-func setHousekeeper (I) = valueOrElse(z(y), {
120- let t = s(I)
121-[StringEntry(h, t)]
126+@Callable(C)
127+func setHousekeeper (M) = valueOrElse(D(C), {
128+ let x = w(M)
129+[StringEntry(i, x)]
122130 })
123131
124132
125133
126-@Callable(y)
127-func setQuoteAsset (J,K) = valueOrElse(z(y), {
128- let L = s(K)
129-[StringEntry(d, J), StringEntry(e, K)]
134+@Callable(C)
135+func setPrizes (N) = valueOrElse(D(C), {
136+ let x = w(N)
137+[StringEntry(h, x)]
130138 })
131139
132140
133141
134-@Callable(y)
135-func setStakingAddress (K) = valueOrElse(z(y), {
136- let L = s(K)
137-[StringEntry(f, K)]
142+@Callable(C)
143+func setNftManager (O) = valueOrElse(D(C), {
144+ let x = w(O)
145+[StringEntry(q, x)]
138146 })
139147
140148
141149
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)]
150+@Callable(C)
151+func setQuoteAsset (P,Q) = valueOrElse(D(C), {
152+ let R = w(Q)
153+[StringEntry(d, P), StringEntry(e, Q)]
146154 })
147155
148156
149157
150-@Callable(y)
151-func removeAmm (M) = valueOrElse(z(y), [DeleteEntry(p(i, M))])
158+@Callable(C)
159+func setStakingAddress (Q) = valueOrElse(D(C), {
160+ let R = w(Q)
161+[StringEntry(f, Q)]
162+ })
152163
153164
154165
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"))
166+@Callable(C)
167+func setCollateralAddress (S) = valueOrElse(D(C), {
168+ let T = w(S)
169+[StringEntry(r, S)]
170+ })
171+
172+
173+
174+@Callable(C)
175+func setExchangeAddress (U) = valueOrElse(D(C), {
176+ let V = w(U)
177+[StringEntry(s, U)]
178+ })
179+
180+
181+
182+@Callable(C)
183+func addAmm (W,X) = valueOrElse(D(C), {
184+ let Y = w(W)
185+[BooleanEntry(t(j, W), true), StringEntry(t(k, W), X)]
186+ })
187+
188+
189+
190+@Callable(C)
191+func removeAmm (W) = valueOrElse(D(C), [DeleteEntry(t(j, W))])
192+
193+
194+
195+@Callable(C)
196+func setGovernanceAsset (P) = valueOrElse(D(C), {
197+ let Z = fromBase58String(P)
198+ let aa = assetInfo(Z)
199+ if ($isInstanceOf(aa, "Asset"))
160200 then {
161- let R = Q
162- if ((R.decimals != 8))
201+ let ab = aa
202+ if ((ab.decimals != 8))
163203 then throw("Invalid asset decimals, should be 8")
164- else [StringEntry(k, J)]
204+ else [StringEntry(l, P)]
165205 }
166206 else throw("Can't find asset")
167207 })
168208
169209
170-@Verifier(S)
171-func T () = sigVerify(S.bodyBytes, S.proofs[0], fromBase58String(u()))
210+@Verifier(ac)
211+func ad () = sigVerify(ac.bodyBytes, ac.proofs[0], fromBase58String(y()))
172212

github/deemru/w8io/026f985 
55.18 ms