tx · GKcv2oYdn8wCF25xBedSsBRTsuUioj6NnBDzBdMNYQDy

3MxXA443AARoS3rQ9RNdPeBur74yBTCTyxJ:  -0.03400000 Waves

2023.02.04 14:52 [2434846] smart account 3MxXA443AARoS3rQ9RNdPeBur74yBTCTyxJ > SELF 0.00000000 Waves

{ "type": 13, "id": "GKcv2oYdn8wCF25xBedSsBRTsuUioj6NnBDzBdMNYQDy", "fee": 3400000, "feeAssetId": null, "timestamp": 1675511550171, "version": 2, "chainId": 84, "sender": "3MxXA443AARoS3rQ9RNdPeBur74yBTCTyxJ", "senderPublicKey": "Dhf95pPhxwKtWsqgf6tyeDW2xpQA7TvM8nTwbwgqKjkd", "proofs": [ "2GWxi5RwFrzxxBZDUaXdPUzXH46Y8h1jbikvkNdz6YHbQEKSSg3Bv8PRBGgYwT8ULor4MpnREW5Zw6ZrKMQkhVQM" ], "script": "base64:BgJeCAISAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIECgIICBIDCgEIEgMKAQgSAwoBCBIDCgEIEgQKAggIEgMKAQgSAwoBCBkAE2tfaW5zdXJhbmNlX2FkZHJlc3MCE2tfaW5zdXJhbmNlX2FkZHJlc3MAD2tfdmF1bHRfYWRkcmVzcwIPa192YXVsdF9hZGRyZXNzAA9rX2FkbWluX2FkZHJlc3MCD2tfYWRtaW5fYWRkcmVzcwANa19xdW90ZV9hc3NldAINa19xdW90ZV9hc3NldAAPa19xdW90ZV9zdGFraW5nAg9rX3F1b3RlX3N0YWtpbmcAEWtfc3Rha2luZ19hZGRyZXNzAhFrX3N0YWtpbmdfYWRkcmVzcwARa19mYXJtaW5nX2FkZHJlc3MCEWtfZmFybWluZ19hZGRyZXNzABBrX3ByaXplc19hZGRyZXNzAhBrX3ByaXplc19hZGRyZXNzABVrX2hvdXNla2VlcGVyX2FkZHJlc3MCFWtfaG91c2VrZWVwZXJfYWRkcmVzcwAFa19hbW0CBWtfYW1tAAprX2FtbV9kYXRhAgprX2FtbV9kYXRhABJrX2dvdmVybmFuY2VfYXNzZXQCC2tfZ292X2Fzc2V0AA9rX21pbmVyX2FkZHJlc3MCD2tfbWluZXJfYWRkcmVzcwAQa19vcmRlcnNfYWRkcmVzcwIQa19vcmRlcnNfYWRkcmVzcwASa19yZWZlcnJhbF9hZGRyZXNzAhJrX3JlZmVycmFsX2FkZHJlc3MAEWtfbWFuYWdlcl9hZGRyZXNzAhFrX21hbmFnZXJfYWRkcmVzcwAVa19uZnRfbWFuYWdlcl9hZGRyZXNzAhVrX25mdF9tYW5hZ2VyX2FkZHJlc3MAFGtfY29sbGF0ZXJhbF9hZGRyZXNzAhRrX2NvbGxhdGVyYWxfYWRkcmVzcwASa19leGNoYW5nZV9hZGRyZXNzAhJrX2V4Y2hhbmdlX2FkZHJlc3MBDnRvQ29tcG9zaXRlS2V5AgRfa2V5CF9hZGRyZXNzCQCsAgIJAKwCAgUEX2tleQIBXwUIX2FkZHJlc3MBEWdldEFkZHJlc3NJZlZhbGlkAQdhZGRyZXNzCQClCAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBBQdhZGRyZXNzCQCsAgIJAKwCAgINQ2FuJ3QgcGFyc2UgIgUHYWRkcmVzcwIMIiBhcyBhZGRyZXNzAQlpc05vQWRtaW4ACQAAAgkAnQgCBQR0aGlzBQ9rX2FkbWluX2FkZHJlc3MFBHVuaXQBBWFkbWluAAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFBHRoaXMFD2tfYWRtaW5fYWRkcmVzcwIRQWRtaW4gbm90IGRlZmluZWQBEGlzTm9BZG1pbk9yQWRtaW4BAWkDAwMJAQlpc05vQWRtaW4ACQAAAggFAWkGY2FsbGVyBQR0aGlzBwYJAAACCAUBaQZjYWxsZXIJAQVhZG1pbgAFBHVuaXQJAAIBAi5Pbmx5IHRoZSBBZG1pbiBpdHNlbGYgY2FuIGludm9rZSB0aGlzIGZ1bmN0aW9uAQdpc0FkbWluAQFpAwkAAAIIBQFpBmNhbGxlcgkBBWFkbWluAAUEdW5pdAkAAgECLk9ubHkgdGhlIEFkbWluIGl0c2VsZiBjYW4gaW52b2tlIHRoaXMgZnVuY3Rpb24SAWkBCHNldEFkbWluAQ1fYWRtaW5BZGRyZXNzCQELdmFsdWVPckVsc2UCCQEQaXNOb0FkbWluT3JBZG1pbgEFAWkEB2FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDV9hZG1pbkFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUPa19hZG1pbl9hZGRyZXNzCQClCAEFB2FkZHJlc3MFA25pbAFpARBzZXRJbnN1cmFuY2VGdW5kAQ5faW5zdXJhbmNlRnVuZAkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAdhZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQ5faW5zdXJhbmNlRnVuZAkAzAgCCQELU3RyaW5nRW50cnkCBRNrX2luc3VyYW5jZV9hZGRyZXNzBQdhZGRyZXNzBQNuaWwBaQERc2V0TGlxdWlkaXR5TWluZXIBD19saXF1aWRpdHlNaW5lcgkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAdhZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQ9fbGlxdWlkaXR5TWluZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgUPa19taW5lcl9hZGRyZXNzBQdhZGRyZXNzBQNuaWwBaQEJc2V0T3JkZXJzAQdfb3JkZXJzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEB2FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFB19vcmRlcnMJAMwIAgkBC1N0cmluZ0VudHJ5AgUQa19vcmRlcnNfYWRkcmVzcwUHYWRkcmVzcwUDbmlsAWkBC3NldFJlZmVycmFsAQlfcmVmZXJyYWwJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQHYWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUJX3JlZmVycmFsCQDMCAIJAQtTdHJpbmdFbnRyeQIFEmtfcmVmZXJyYWxfYWRkcmVzcwUHYWRkcmVzcwUDbmlsAWkBCnNldEZhcm1pbmcBCF9mYXJtaW5nCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEB2FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFCF9mYXJtaW5nCQDMCAIJAQtTdHJpbmdFbnRyeQIFEWtfZmFybWluZ19hZGRyZXNzBQdhZGRyZXNzBQNuaWwBaQEKc2V0TWFuYWdlcgEIX21hbmFnZXIJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQHYWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUIX21hbmFnZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgURa19tYW5hZ2VyX2FkZHJlc3MFB2FkZHJlc3MFA25pbAFpAQ5zZXRIb3VzZWtlZXBlcgEMX2hvdXNla2VlcGVyCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEB2FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFDF9ob3VzZWtlZXBlcgkAzAgCCQELU3RyaW5nRW50cnkCBRVrX2hvdXNla2VlcGVyX2FkZHJlc3MFB2FkZHJlc3MFA25pbAFpAQlzZXRQcml6ZXMBB19wcml6ZXMJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQHYWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUHX3ByaXplcwkAzAgCCQELU3RyaW5nRW50cnkCBRBrX3ByaXplc19hZGRyZXNzBQdhZGRyZXNzBQNuaWwBaQENc2V0TmZ0TWFuYWdlcgELX25mdE1hbmFnZXIJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQHYWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQULX25mdE1hbmFnZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgUVa19uZnRfbWFuYWdlcl9hZGRyZXNzBQdhZGRyZXNzBQNuaWwBaQENc2V0UXVvdGVBc3NldAIIX2Fzc2V0SWQPX3N0YWtpbmdBZGRyZXNzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEDnN0YWtpbmdBZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQ9fc3Rha2luZ0FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUNa19xdW90ZV9hc3NldAUIX2Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUPa19xdW90ZV9zdGFraW5nBQ9fc3Rha2luZ0FkZHJlc3MFA25pbAFpARFzZXRTdGFraW5nQWRkcmVzcwEPX3N0YWtpbmdBZGRyZXNzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEDnN0YWtpbmdBZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQ9fc3Rha2luZ0FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgURa19zdGFraW5nX2FkZHJlc3MFD19zdGFraW5nQWRkcmVzcwUDbmlsAWkBFHNldENvbGxhdGVyYWxBZGRyZXNzARJfY29sbGF0ZXJhbEFkZHJlc3MJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQRY29sbGF0ZXJhbEFkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFEl9jb2xsYXRlcmFsQWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCBRRrX2NvbGxhdGVyYWxfYWRkcmVzcwUSX2NvbGxhdGVyYWxBZGRyZXNzBQNuaWwBaQESc2V0RXhjaGFuZ2VBZGRyZXNzARBfZXhjaGFuZ2VBZGRyZXNzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkED2V4Y2hhbmdlQWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUQX2V4Y2hhbmdlQWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCBRJrX2V4Y2hhbmdlX2FkZHJlc3MFEF9leGNoYW5nZUFkZHJlc3MFA25pbAFpAQ9zZXRWYXVsdEFkZHJlc3MBDV92YXVsdEFkZHJlc3MJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQPZXhjaGFuZ2VBZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQ1fdmF1bHRBZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIFD2tfdmF1bHRfYWRkcmVzcwUNX3ZhdWx0QWRkcmVzcwUDbmlsAWkBBmFkZEFtbQILX2FtbUFkZHJlc3MFX2RhdGEJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQKYW1tQWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQULX2FtbUFkZHJlc3MJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQ50b0NvbXBvc2l0ZUtleQIFBWtfYW1tBQtfYW1tQWRkcmVzcwYJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDnRvQ29tcG9zaXRlS2V5AgUKa19hbW1fZGF0YQULX2FtbUFkZHJlc3MFBV9kYXRhBQNuaWwBaQEJcmVtb3ZlQW1tAQtfYW1tQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpCQDMCAIJAQtEZWxldGVFbnRyeQEJAQ50b0NvbXBvc2l0ZUtleQIFBWtfYW1tBQtfYW1tQWRkcmVzcwUDbmlsAWkBEnNldEdvdmVybmFuY2VBc3NldAEIX2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQKYXNzZXRCeXRlcwkA2QQBBQhfYXNzZXRJZAQHJG1hdGNoMAkA7AcBBQphc3NldEJ5dGVzAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAMJAQIhPQIIBQVhc3NldAhkZWNpbWFscwAICQACAQIjSW52YWxpZCBhc3NldCBkZWNpbWFscywgc2hvdWxkIGJlIDgJAMwIAgkBC1N0cmluZ0VudHJ5AgUSa19nb3Zlcm5hbmNlX2Fzc2V0BQhfYXNzZXRJZAUDbmlsCQACAQIQQ2FuJ3QgZmluZCBhc3NldAECdHgBBnZlcmlmeQAEByRtYXRjaDAJAJ0IAgUEdGhpcwUPa19hZG1pbl9hZGRyZXNzAwkAAQIFByRtYXRjaDACBlN0cmluZwQIdmVyaWZpZXIFByRtYXRjaDAJAQt2YWx1ZU9yRWxzZQIJAJsIAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUIdmVyaWZpZXIJAKwCAgkArAICCQCsAgICB3N0YXR1c18JAKUIAQUEdGhpcwIBXwkA2AQBCAUCdHgCaWQHCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V55dUkTQ==", "height": 2434846, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FR9hkoL5DYtMkN9PmCmvHF2wymRKksghPECaUoje9zQS Next: Gq3wnqz1kuA29QcKk11eXYWU9X7NFgExjmPDNWj5ptTA Diff:
OldNewDifferences
77
88 let c = "k_admin_address"
99
10-let d = "k_admin_public_key"
10+let d = "k_quote_asset"
1111
12-let e = "k_quote_asset"
12+let e = "k_quote_staking"
1313
14-let f = "k_quote_staking"
14+let f = "k_staking_address"
1515
16-let g = "k_staking_address"
16+let g = "k_farming_address"
1717
18-let h = "k_farming_address"
18+let h = "k_prizes_address"
1919
20-let i = "k_prizes_address"
20+let i = "k_housekeeper_address"
2121
22-let j = "k_housekeeper_address"
22+let j = "k_amm"
2323
24-let k = "k_amm"
24+let k = "k_amm_data"
2525
26-let l = "k_amm_data"
26+let l = "k_gov_asset"
2727
28-let m = "k_gov_asset"
28+let m = "k_miner_address"
2929
30-let n = "k_miner_address"
30+let n = "k_orders_address"
3131
32-let o = "k_orders_address"
32+let o = "k_referral_address"
3333
34-let p = "k_referral_address"
34+let p = "k_manager_address"
3535
36-let q = "k_manager_address"
36+let q = "k_nft_manager_address"
3737
38-let r = "k_nft_manager_address"
38+let r = "k_collateral_address"
3939
40-let s = "k_collateral_address"
40+let s = "k_exchange_address"
4141
42-let t = "k_exchange_address"
43-
44-func u (v,w) = ((v + "_") + w)
42+func t (u,v) = ((u + "_") + v)
4543
4644
47-func x (y) = toString(valueOrErrorMessage(addressFromString(y), (("Can't parse \"" + y) + "\" as address")))
45+func w (x) = toString(valueOrErrorMessage(addressFromString(x), (("Can't parse \"" + x) + "\" as address")))
4846
4947
50-func z () = getStringValue(this, d)
48+func y () = (getString(this, c) == unit)
5149
5250
53-func A () = (getString(this, c) == unit)
51+func z () = addressFromStringValue(valueOrErrorMessage(getString(this, c), "Admin not defined"))
5452
5553
56-func B () = addressFromStringValue(valueOrErrorMessage(getString(this, c), "Admin not defined"))
57-
58-
59-func C (D) = if (if (A())
54+func A (B) = if (if (if (y())
55+ then (B.caller == this)
56+ else false)
6057 then true
61- else (D.caller == B()))
58+ else (B.caller == z()))
6259 then unit
6360 else throw("Only the Admin itself can invoke this function")
6461
6562
66-func E (D) = if ((D.caller == B()))
63+func C (B) = if ((B.caller == z()))
6764 then unit
6865 else throw("Only the Admin itself can invoke this function")
6966
7067
71-@Callable(D)
72-func setAdmin (F) = valueOrElse(C(D), {
73- let G = fromBase58String(F)
74- let y = addressFromPublicKey(G)
75-[StringEntry(c, toString(y)), StringEntry(d, F)]
68+@Callable(B)
69+func setAdmin (D) = valueOrElse(A(B), {
70+ let x = addressFromStringValue(D)
71+[StringEntry(c, toString(x))]
7672 })
7773
7874
7975
80-@Callable(D)
81-func setInsuranceFund (H) = valueOrElse(E(D), {
82- let y = x(H)
83-[StringEntry(a, y)]
76+@Callable(B)
77+func setInsuranceFund (E) = valueOrElse(C(B), {
78+ let x = w(E)
79+[StringEntry(a, x)]
8480 })
8581
8682
8783
88-@Callable(D)
89-func setLiquidityMiner (I) = valueOrElse(E(D), {
90- let y = x(I)
91-[StringEntry(n, y)]
84+@Callable(B)
85+func setLiquidityMiner (F) = valueOrElse(C(B), {
86+ let x = w(F)
87+[StringEntry(m, x)]
9288 })
9389
9490
9591
96-@Callable(D)
97-func setOrders (J) = valueOrElse(E(D), {
98- let y = x(J)
99-[StringEntry(o, y)]
92+@Callable(B)
93+func setOrders (G) = valueOrElse(C(B), {
94+ let x = w(G)
95+[StringEntry(n, x)]
10096 })
10197
10298
10399
104-@Callable(D)
105-func setReferral (K) = valueOrElse(E(D), {
106- let y = x(K)
107-[StringEntry(p, y)]
100+@Callable(B)
101+func setReferral (H) = valueOrElse(C(B), {
102+ let x = w(H)
103+[StringEntry(o, x)]
108104 })
109105
110106
111107
112-@Callable(D)
113-func setFarming (L) = valueOrElse(E(D), {
114- let y = x(L)
115-[StringEntry(h, y)]
108+@Callable(B)
109+func setFarming (I) = valueOrElse(C(B), {
110+ let x = w(I)
111+[StringEntry(g, x)]
116112 })
117113
118114
119115
120-@Callable(D)
121-func setManager (M) = valueOrElse(E(D), {
122- let y = x(M)
123-[StringEntry(q, y)]
116+@Callable(B)
117+func setManager (J) = valueOrElse(C(B), {
118+ let x = w(J)
119+[StringEntry(p, x)]
124120 })
125121
126122
127123
128-@Callable(D)
129-func setHousekeeper (N) = valueOrElse(E(D), {
130- let y = x(N)
131-[StringEntry(j, y)]
124+@Callable(B)
125+func setHousekeeper (K) = valueOrElse(C(B), {
126+ let x = w(K)
127+[StringEntry(i, x)]
132128 })
133129
134130
135131
136-@Callable(D)
137-func setPrizes (O) = valueOrElse(E(D), {
138- let y = x(O)
139-[StringEntry(i, y)]
132+@Callable(B)
133+func setPrizes (L) = valueOrElse(C(B), {
134+ let x = w(L)
135+[StringEntry(h, x)]
140136 })
141137
142138
143139
144-@Callable(D)
145-func setNftManager (P) = valueOrElse(E(D), {
146- let y = x(P)
147-[StringEntry(r, y)]
140+@Callable(B)
141+func setNftManager (M) = valueOrElse(C(B), {
142+ let x = w(M)
143+[StringEntry(q, x)]
148144 })
149145
150146
151147
152-@Callable(D)
153-func setQuoteAsset (Q,R) = valueOrElse(E(D), {
154- let S = x(R)
155-[StringEntry(e, Q), StringEntry(f, R)]
148+@Callable(B)
149+func setQuoteAsset (N,O) = valueOrElse(C(B), {
150+ let P = w(O)
151+[StringEntry(d, N), StringEntry(e, O)]
156152 })
157153
158154
159155
160-@Callable(D)
161-func setStakingAddress (R) = valueOrElse(E(D), {
162- let S = x(R)
163-[StringEntry(g, R)]
156+@Callable(B)
157+func setStakingAddress (O) = valueOrElse(C(B), {
158+ let P = w(O)
159+[StringEntry(f, O)]
164160 })
165161
166162
167163
168-@Callable(D)
169-func setCollateralAddress (T) = valueOrElse(E(D), {
170- let U = x(T)
171-[StringEntry(s, T)]
164+@Callable(B)
165+func setCollateralAddress (Q) = valueOrElse(C(B), {
166+ let R = w(Q)
167+[StringEntry(r, Q)]
172168 })
173169
174170
175171
176-@Callable(D)
177-func setExchangeAddress (V) = valueOrElse(E(D), {
178- let W = x(V)
179-[StringEntry(t, V)]
172+@Callable(B)
173+func setExchangeAddress (S) = valueOrElse(C(B), {
174+ let T = w(S)
175+[StringEntry(s, S)]
180176 })
181177
182178
183179
184-@Callable(D)
185-func setVaultAddress (X) = valueOrElse(E(D), {
186- let W = x(X)
187-[StringEntry(b, X)]
180+@Callable(B)
181+func setVaultAddress (U) = valueOrElse(C(B), {
182+ let T = w(U)
183+[StringEntry(b, U)]
188184 })
189185
190186
191187
192-@Callable(D)
193-func addAmm (Y,Z) = valueOrElse(E(D), {
194- let aa = x(Y)
195-[BooleanEntry(u(k, Y), true), StringEntry(u(l, Y), Z)]
188+@Callable(B)
189+func addAmm (V,W) = valueOrElse(C(B), {
190+ let X = w(V)
191+[BooleanEntry(t(j, V), true), StringEntry(t(k, V), W)]
196192 })
197193
198194
199195
200-@Callable(D)
201-func removeAmm (Y) = valueOrElse(E(D), [DeleteEntry(u(k, Y))])
196+@Callable(B)
197+func removeAmm (V) = valueOrElse(C(B), [DeleteEntry(t(j, V))])
202198
203199
204200
205-@Callable(D)
206-func setGovernanceAsset (Q) = valueOrElse(E(D), {
207- let ab = fromBase58String(Q)
208- let ac = assetInfo(ab)
209- if ($isInstanceOf(ac, "Asset"))
201+@Callable(B)
202+func setGovernanceAsset (N) = valueOrElse(C(B), {
203+ let Y = fromBase58String(N)
204+ let Z = assetInfo(Y)
205+ if ($isInstanceOf(Z, "Asset"))
210206 then {
211- let ad = ac
212- if ((ad.decimals != 8))
207+ let aa = Z
208+ if ((aa.decimals != 8))
213209 then throw("Invalid asset decimals, should be 8")
214- else [StringEntry(m, Q)]
210+ else [StringEntry(l, N)]
215211 }
216212 else throw("Can't find asset")
217213 })
218214
219215
220-@Verifier(ae)
221-func af () = sigVerify(ae.bodyBytes, ae.proofs[0], fromBase58String(z()))
216+@Verifier(ab)
217+func ac () = {
218+ let Z = getString(this, c)
219+ if ($isInstanceOf(Z, "String"))
220+ then {
221+ let ad = Z
222+ valueOrElse(getBoolean(addressFromStringValue(ad), ((("status_" + toString(this)) + "_") + toBase58String(ab.id))), false)
223+ }
224+ else sigVerify(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey)
225+ }
222226
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_vault_address"
77
88 let c = "k_admin_address"
99
10-let d = "k_admin_public_key"
10+let d = "k_quote_asset"
1111
12-let e = "k_quote_asset"
12+let e = "k_quote_staking"
1313
14-let f = "k_quote_staking"
14+let f = "k_staking_address"
1515
16-let g = "k_staking_address"
16+let g = "k_farming_address"
1717
18-let h = "k_farming_address"
18+let h = "k_prizes_address"
1919
20-let i = "k_prizes_address"
20+let i = "k_housekeeper_address"
2121
22-let j = "k_housekeeper_address"
22+let j = "k_amm"
2323
24-let k = "k_amm"
24+let k = "k_amm_data"
2525
26-let l = "k_amm_data"
26+let l = "k_gov_asset"
2727
28-let m = "k_gov_asset"
28+let m = "k_miner_address"
2929
30-let n = "k_miner_address"
30+let n = "k_orders_address"
3131
32-let o = "k_orders_address"
32+let o = "k_referral_address"
3333
34-let p = "k_referral_address"
34+let p = "k_manager_address"
3535
36-let q = "k_manager_address"
36+let q = "k_nft_manager_address"
3737
38-let r = "k_nft_manager_address"
38+let r = "k_collateral_address"
3939
40-let s = "k_collateral_address"
40+let s = "k_exchange_address"
4141
42-let t = "k_exchange_address"
43-
44-func u (v,w) = ((v + "_") + w)
42+func t (u,v) = ((u + "_") + v)
4543
4644
47-func x (y) = toString(valueOrErrorMessage(addressFromString(y), (("Can't parse \"" + y) + "\" as address")))
45+func w (x) = toString(valueOrErrorMessage(addressFromString(x), (("Can't parse \"" + x) + "\" as address")))
4846
4947
50-func z () = getStringValue(this, d)
48+func y () = (getString(this, c) == unit)
5149
5250
53-func A () = (getString(this, c) == unit)
51+func z () = addressFromStringValue(valueOrErrorMessage(getString(this, c), "Admin not defined"))
5452
5553
56-func B () = addressFromStringValue(valueOrErrorMessage(getString(this, c), "Admin not defined"))
57-
58-
59-func C (D) = if (if (A())
54+func A (B) = if (if (if (y())
55+ then (B.caller == this)
56+ else false)
6057 then true
61- else (D.caller == B()))
58+ else (B.caller == z()))
6259 then unit
6360 else throw("Only the Admin itself can invoke this function")
6461
6562
66-func E (D) = if ((D.caller == B()))
63+func C (B) = if ((B.caller == z()))
6764 then unit
6865 else throw("Only the Admin itself can invoke this function")
6966
7067
71-@Callable(D)
72-func setAdmin (F) = valueOrElse(C(D), {
73- let G = fromBase58String(F)
74- let y = addressFromPublicKey(G)
75-[StringEntry(c, toString(y)), StringEntry(d, F)]
68+@Callable(B)
69+func setAdmin (D) = valueOrElse(A(B), {
70+ let x = addressFromStringValue(D)
71+[StringEntry(c, toString(x))]
7672 })
7773
7874
7975
80-@Callable(D)
81-func setInsuranceFund (H) = valueOrElse(E(D), {
82- let y = x(H)
83-[StringEntry(a, y)]
76+@Callable(B)
77+func setInsuranceFund (E) = valueOrElse(C(B), {
78+ let x = w(E)
79+[StringEntry(a, x)]
8480 })
8581
8682
8783
88-@Callable(D)
89-func setLiquidityMiner (I) = valueOrElse(E(D), {
90- let y = x(I)
91-[StringEntry(n, y)]
84+@Callable(B)
85+func setLiquidityMiner (F) = valueOrElse(C(B), {
86+ let x = w(F)
87+[StringEntry(m, x)]
9288 })
9389
9490
9591
96-@Callable(D)
97-func setOrders (J) = valueOrElse(E(D), {
98- let y = x(J)
99-[StringEntry(o, y)]
92+@Callable(B)
93+func setOrders (G) = valueOrElse(C(B), {
94+ let x = w(G)
95+[StringEntry(n, x)]
10096 })
10197
10298
10399
104-@Callable(D)
105-func setReferral (K) = valueOrElse(E(D), {
106- let y = x(K)
107-[StringEntry(p, y)]
100+@Callable(B)
101+func setReferral (H) = valueOrElse(C(B), {
102+ let x = w(H)
103+[StringEntry(o, x)]
108104 })
109105
110106
111107
112-@Callable(D)
113-func setFarming (L) = valueOrElse(E(D), {
114- let y = x(L)
115-[StringEntry(h, y)]
108+@Callable(B)
109+func setFarming (I) = valueOrElse(C(B), {
110+ let x = w(I)
111+[StringEntry(g, x)]
116112 })
117113
118114
119115
120-@Callable(D)
121-func setManager (M) = valueOrElse(E(D), {
122- let y = x(M)
123-[StringEntry(q, y)]
116+@Callable(B)
117+func setManager (J) = valueOrElse(C(B), {
118+ let x = w(J)
119+[StringEntry(p, x)]
124120 })
125121
126122
127123
128-@Callable(D)
129-func setHousekeeper (N) = valueOrElse(E(D), {
130- let y = x(N)
131-[StringEntry(j, y)]
124+@Callable(B)
125+func setHousekeeper (K) = valueOrElse(C(B), {
126+ let x = w(K)
127+[StringEntry(i, x)]
132128 })
133129
134130
135131
136-@Callable(D)
137-func setPrizes (O) = valueOrElse(E(D), {
138- let y = x(O)
139-[StringEntry(i, y)]
132+@Callable(B)
133+func setPrizes (L) = valueOrElse(C(B), {
134+ let x = w(L)
135+[StringEntry(h, x)]
140136 })
141137
142138
143139
144-@Callable(D)
145-func setNftManager (P) = valueOrElse(E(D), {
146- let y = x(P)
147-[StringEntry(r, y)]
140+@Callable(B)
141+func setNftManager (M) = valueOrElse(C(B), {
142+ let x = w(M)
143+[StringEntry(q, x)]
148144 })
149145
150146
151147
152-@Callable(D)
153-func setQuoteAsset (Q,R) = valueOrElse(E(D), {
154- let S = x(R)
155-[StringEntry(e, Q), StringEntry(f, R)]
148+@Callable(B)
149+func setQuoteAsset (N,O) = valueOrElse(C(B), {
150+ let P = w(O)
151+[StringEntry(d, N), StringEntry(e, O)]
156152 })
157153
158154
159155
160-@Callable(D)
161-func setStakingAddress (R) = valueOrElse(E(D), {
162- let S = x(R)
163-[StringEntry(g, R)]
156+@Callable(B)
157+func setStakingAddress (O) = valueOrElse(C(B), {
158+ let P = w(O)
159+[StringEntry(f, O)]
164160 })
165161
166162
167163
168-@Callable(D)
169-func setCollateralAddress (T) = valueOrElse(E(D), {
170- let U = x(T)
171-[StringEntry(s, T)]
164+@Callable(B)
165+func setCollateralAddress (Q) = valueOrElse(C(B), {
166+ let R = w(Q)
167+[StringEntry(r, Q)]
172168 })
173169
174170
175171
176-@Callable(D)
177-func setExchangeAddress (V) = valueOrElse(E(D), {
178- let W = x(V)
179-[StringEntry(t, V)]
172+@Callable(B)
173+func setExchangeAddress (S) = valueOrElse(C(B), {
174+ let T = w(S)
175+[StringEntry(s, S)]
180176 })
181177
182178
183179
184-@Callable(D)
185-func setVaultAddress (X) = valueOrElse(E(D), {
186- let W = x(X)
187-[StringEntry(b, X)]
180+@Callable(B)
181+func setVaultAddress (U) = valueOrElse(C(B), {
182+ let T = w(U)
183+[StringEntry(b, U)]
188184 })
189185
190186
191187
192-@Callable(D)
193-func addAmm (Y,Z) = valueOrElse(E(D), {
194- let aa = x(Y)
195-[BooleanEntry(u(k, Y), true), StringEntry(u(l, Y), Z)]
188+@Callable(B)
189+func addAmm (V,W) = valueOrElse(C(B), {
190+ let X = w(V)
191+[BooleanEntry(t(j, V), true), StringEntry(t(k, V), W)]
196192 })
197193
198194
199195
200-@Callable(D)
201-func removeAmm (Y) = valueOrElse(E(D), [DeleteEntry(u(k, Y))])
196+@Callable(B)
197+func removeAmm (V) = valueOrElse(C(B), [DeleteEntry(t(j, V))])
202198
203199
204200
205-@Callable(D)
206-func setGovernanceAsset (Q) = valueOrElse(E(D), {
207- let ab = fromBase58String(Q)
208- let ac = assetInfo(ab)
209- if ($isInstanceOf(ac, "Asset"))
201+@Callable(B)
202+func setGovernanceAsset (N) = valueOrElse(C(B), {
203+ let Y = fromBase58String(N)
204+ let Z = assetInfo(Y)
205+ if ($isInstanceOf(Z, "Asset"))
210206 then {
211- let ad = ac
212- if ((ad.decimals != 8))
207+ let aa = Z
208+ if ((aa.decimals != 8))
213209 then throw("Invalid asset decimals, should be 8")
214- else [StringEntry(m, Q)]
210+ else [StringEntry(l, N)]
215211 }
216212 else throw("Can't find asset")
217213 })
218214
219215
220-@Verifier(ae)
221-func af () = sigVerify(ae.bodyBytes, ae.proofs[0], fromBase58String(z()))
216+@Verifier(ab)
217+func ac () = {
218+ let Z = getString(this, c)
219+ if ($isInstanceOf(Z, "String"))
220+ then {
221+ let ad = Z
222+ valueOrElse(getBoolean(addressFromStringValue(ad), ((("status_" + toString(this)) + "_") + toBase58String(ab.id))), false)
223+ }
224+ else sigVerify(ab.bodyBytes, ab.proofs[0], ab.senderPublicKey)
225+ }
222226

github/deemru/w8io/026f985 
70.65 ms