tx · 68oXwAUNg5CEUPkBy6zHqy8TcUbZUwXhC4By238Y8Sib

3PPZ8hSuQuVNMw2AFWAidopQGVMqCujB13Z:  -0.03400000 Waves

2022.09.21 19:24 [3304568] smart account 3PPZ8hSuQuVNMw2AFWAidopQGVMqCujB13Z > SELF 0.00000000 Waves

{ "type": 13, "id": "68oXwAUNg5CEUPkBy6zHqy8TcUbZUwXhC4By238Y8Sib", "fee": 3400000, "feeAssetId": null, "timestamp": 1663777530340, "version": 2, "chainId": 87, "sender": "3PPZ8hSuQuVNMw2AFWAidopQGVMqCujB13Z", "senderPublicKey": "8p1Ct3AVxscSwXaPsHXNQEqh1UvXuD4XN9rJ6ccfwu9N", "proofs": [ "2PxVBdcm9Fmmnnwd9msAjkGzG2eouyu4o6JUNnA9PGq7WxsRa7nzqWi5S5F8jo5dFSuUyAS5VM8YQBwZrXpPZz8f" ], "script": "base64:BgI7CAISAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSBAoCCAgSAwoBCBIECgIICBIDCgEIEgMKAQgUABNrX2luc3VyYW5jZV9hZGRyZXNzAhNrX2luc3VyYW5jZV9hZGRyZXNzAA9rX2FkbWluX2FkZHJlc3MCD2tfYWRtaW5fYWRkcmVzcwASa19hZG1pbl9wdWJsaWNfa2V5AhJrX2FkbWluX3B1YmxpY19rZXkADWtfcXVvdGVfYXNzZXQCDWtfcXVvdGVfYXNzZXQAD2tfcXVvdGVfc3Rha2luZwIPa19xdW90ZV9zdGFraW5nABFrX3N0YWtpbmdfYWRkcmVzcwIRa19zdGFraW5nX2FkZHJlc3MAEWtfZmFybWluZ19hZGRyZXNzAhFrX2Zhcm1pbmdfYWRkcmVzcwAFa19hbW0CBWtfYW1tAAprX2FtbV9kYXRhAgprX2FtbV9kYXRhABJrX2dvdmVybmFuY2VfYXNzZXQCC2tfZ292X2Fzc2V0AA9rX21pbmVyX2FkZHJlc3MCD2tfbWluZXJfYWRkcmVzcwAQa19vcmRlcnNfYWRkcmVzcwIQa19vcmRlcnNfYWRkcmVzcwASa19yZWZlcnJhbF9hZGRyZXNzAhJrX3JlZmVycmFsX2FkZHJlc3MBDnRvQ29tcG9zaXRlS2V5AgRfa2V5CF9hZGRyZXNzCQCsAgIJAKwCAgUEX2tleQIBXwUIX2FkZHJlc3MBEWdldEFkZHJlc3NJZlZhbGlkAQdhZGRyZXNzCQClCAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBBQdhZGRyZXNzCQCsAgIJAKwCAgINQ2FuJ3QgcGFyc2UgIgUHYWRkcmVzcwIMIiBhcyBhZGRyZXNzAQ5hZG1pblB1YmxpY0tleQAJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMFEmtfYWRtaW5fcHVibGljX2tleQEJaXNOb0FkbWluAAkAAAIJAJ0IAgUEdGhpcwUPa19hZG1pbl9hZGRyZXNzBQR1bml0AQVhZG1pbgAJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQR0aGlzBQ9rX2FkbWluX2FkZHJlc3MCEUFkbWluIG5vdCBkZWZpbmVkARBpc05vQWRtaW5PckFkbWluAQFpAwMJAQlpc05vQWRtaW4ABgkAAAIIBQFpBmNhbGxlcgkBBWFkbWluAAUEdW5pdAkAAgECLk9ubHkgdGhlIEFkbWluIGl0c2VsZiBjYW4gaW52b2tlIHRoaXMgZnVuY3Rpb24BB2lzQWRtaW4BAWkDCQAAAggFAWkGY2FsbGVyCQEFYWRtaW4ABQR1bml0CQACAQIuT25seSB0aGUgQWRtaW4gaXRzZWxmIGNhbiBpbnZva2UgdGhpcyBmdW5jdGlvbgsBaQEIc2V0QWRtaW4BD19hZG1pblB1YmxpY0tleQkBC3ZhbHVlT3JFbHNlAgkBEGlzTm9BZG1pbk9yQWRtaW4BBQFpBAVieXRlcwkA2QQBBQ9fYWRtaW5QdWJsaWNLZXkEB2FkZHJlc3MJAKcIAQUFYnl0ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgUPa19hZG1pbl9hZGRyZXNzCQClCAEFB2FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUSa19hZG1pbl9wdWJsaWNfa2V5BQ9fYWRtaW5QdWJsaWNLZXkFA25pbAFpARBzZXRJbnN1cmFuY2VGdW5kAQ5faW5zdXJhbmNlRnVuZAkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAdhZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQ5faW5zdXJhbmNlRnVuZAkAzAgCCQELU3RyaW5nRW50cnkCBRNrX2luc3VyYW5jZV9hZGRyZXNzBQdhZGRyZXNzBQNuaWwBaQERc2V0TGlxdWlkaXR5TWluZXIBD19saXF1aWRpdHlNaW5lcgkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpBAdhZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQ9fbGlxdWlkaXR5TWluZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgUPa19taW5lcl9hZGRyZXNzBQdhZGRyZXNzBQNuaWwBaQEJc2V0T3JkZXJzAQdfb3JkZXJzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEB2FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFB19vcmRlcnMJAMwIAgkBC1N0cmluZ0VudHJ5AgUQa19vcmRlcnNfYWRkcmVzcwUHYWRkcmVzcwUDbmlsAWkBC3NldFJlZmVycmFsAQlfcmVmZXJyYWwJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQHYWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQUJX3JlZmVycmFsCQDMCAIJAQtTdHJpbmdFbnRyeQIFEmtfcmVmZXJyYWxfYWRkcmVzcwUHYWRkcmVzcwUDbmlsAWkBCnNldEZhcm1pbmcBCF9mYXJtaW5nCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEB2FkZHJlc3MJARFnZXRBZGRyZXNzSWZWYWxpZAEFCF9mYXJtaW5nCQDMCAIJAQtTdHJpbmdFbnRyeQIFEWtfZmFybWluZ19hZGRyZXNzBQdhZGRyZXNzBQNuaWwBaQENc2V0UXVvdGVBc3NldAIIX2Fzc2V0SWQPX3N0YWtpbmdBZGRyZXNzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEDnN0YWtpbmdBZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQ9fc3Rha2luZ0FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUNa19xdW90ZV9hc3NldAUIX2Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUPa19xdW90ZV9zdGFraW5nBQ9fc3Rha2luZ0FkZHJlc3MFA25pbAFpARFzZXRTdGFraW5nQWRkcmVzcwEPX3N0YWtpbmdBZGRyZXNzCQELdmFsdWVPckVsc2UCCQEHaXNBZG1pbgEFAWkEDnN0YWtpbmdBZGRyZXNzCQERZ2V0QWRkcmVzc0lmVmFsaWQBBQ9fc3Rha2luZ0FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgURa19zdGFraW5nX2FkZHJlc3MFD19zdGFraW5nQWRkcmVzcwUDbmlsAWkBBmFkZEFtbQILX2FtbUFkZHJlc3MFX2RhdGEJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQKYW1tQWRkcmVzcwkBEWdldEFkZHJlc3NJZlZhbGlkAQULX2FtbUFkZHJlc3MJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQ50b0NvbXBvc2l0ZUtleQIFBWtfYW1tBQtfYW1tQWRkcmVzcwYJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDnRvQ29tcG9zaXRlS2V5AgUKa19hbW1fZGF0YQULX2FtbUFkZHJlc3MFBV9kYXRhBQNuaWwBaQEJcmVtb3ZlQW1tAQtfYW1tQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkBB2lzQWRtaW4BBQFpCQDMCAIJAQtEZWxldGVFbnRyeQEJAQ50b0NvbXBvc2l0ZUtleQIFBWtfYW1tBQtfYW1tQWRkcmVzcwUDbmlsAWkBEnNldEdvdmVybmFuY2VBc3NldAEIX2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAQdpc0FkbWluAQUBaQQKYXNzZXRCeXRlcwkA2QQBBQhfYXNzZXRJZAQHJG1hdGNoMAkA7AcBBQphc3NldEJ5dGVzAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAMJAQIhPQIIBQVhc3NldAhkZWNpbWFscwAICQACAQIjSW52YWxpZCBhc3NldCBkZWNpbWFscywgc2hvdWxkIGJlIDgJAMwIAgkBC1N0cmluZ0VudHJ5AgUSa19nb3Zlcm5hbmNlX2Fzc2V0BQhfYXNzZXRJZAUDbmlsCQACAQIQQ2FuJ3QgZmluZCBhc3NldAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAJANkEAQkBDmFkbWluUHVibGljS2V5ADCKvbY=", "height": 3304568, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7EwAUdAbfjiVUKE5qnCFkMEzXj58Aub135vKNnL3L66P Next: GpDJhchXNeh3DJ3Jr9fBWkosDEBF75A3hSEJVPA9ZqKW Diff:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "k_insurance_address"
1313
1414 let f = "k_staking_address"
1515
16-let g = "k_amm"
16+let g = "k_farming_address"
1717
18-let h = "k_amm_data"
18+let h = "k_amm"
1919
20-let i = "k_gov_asset"
20+let i = "k_amm_data"
2121
22-let j = "k_miner_address"
22+let j = "k_gov_asset"
2323
24-func k (l,m) = ((l + "_") + m)
24+let k = "k_miner_address"
25+
26+let l = "k_orders_address"
27+
28+let m = "k_referral_address"
29+
30+func n (o,p) = ((o + "_") + p)
2531
2632
27-func n (o) = toString(valueOrErrorMessage(addressFromString(o), (("Can't parse \"" + o) + "\" as address")))
33+func q (r) = toString(valueOrErrorMessage(addressFromString(r), (("Can't parse \"" + r) + "\" as address")))
2834
2935
30-func p () = getStringValue(this, c)
36+func s () = getStringValue(this, c)
3137
3238
33-func q () = (getString(this, b) == unit)
39+func t () = (getString(this, b) == unit)
3440
3541
36-func r () = addressFromStringValue(valueOrErrorMessage(getString(this, b), "Admin not defined"))
42+func u () = addressFromStringValue(valueOrErrorMessage(getString(this, b), "Admin not defined"))
3743
3844
39-func s (t) = if (if (q())
45+func v (w) = if (if (t())
4046 then true
41- else (t.caller == r()))
47+ else (w.caller == u()))
4248 then unit
4349 else throw("Only the Admin itself can invoke this function")
4450
4551
46-func u (t) = if ((t.caller == r()))
52+func x (w) = if ((w.caller == u()))
4753 then unit
4854 else throw("Only the Admin itself can invoke this function")
4955
5056
51-@Callable(t)
52-func setAdmin (v) = valueOrElse(s(t), {
53- let w = fromBase58String(v)
54- let o = addressFromPublicKey(w)
55-[StringEntry(b, toString(o)), StringEntry(c, v)]
57+@Callable(w)
58+func setAdmin (y) = valueOrElse(v(w), {
59+ let z = fromBase58String(y)
60+ let r = addressFromPublicKey(z)
61+[StringEntry(b, toString(r)), StringEntry(c, y)]
5662 })
5763
5864
5965
60-@Callable(t)
61-func setInsuranceFund (x) = valueOrElse(u(t), {
62- let o = n(x)
63-[StringEntry(a, o)]
66+@Callable(w)
67+func setInsuranceFund (A) = valueOrElse(x(w), {
68+ let r = q(A)
69+[StringEntry(a, r)]
6470 })
6571
6672
6773
68-@Callable(t)
69-func setLiquidityMiner (y) = valueOrElse(u(t), {
70- let o = n(y)
71-[StringEntry(j, o)]
74+@Callable(w)
75+func setLiquidityMiner (B) = valueOrElse(x(w), {
76+ let r = q(B)
77+[StringEntry(k, r)]
7278 })
7379
7480
7581
76-@Callable(t)
77-func setQuoteAsset (z,A) = valueOrElse(u(t), {
78- let B = n(A)
79-[StringEntry(d, z), StringEntry(e, A)]
82+@Callable(w)
83+func setOrders (C) = valueOrElse(x(w), {
84+ let r = q(C)
85+[StringEntry(l, r)]
8086 })
8187
8288
8389
84-@Callable(t)
85-func setStakingAddress (A) = valueOrElse(u(t), {
86- let B = n(A)
87-[StringEntry(f, A)]
90+@Callable(w)
91+func setReferral (D) = valueOrElse(x(w), {
92+ let r = q(D)
93+[StringEntry(m, r)]
8894 })
8995
9096
9197
92-@Callable(t)
93-func addAmm (C,D) = valueOrElse(u(t), {
94- let E = n(C)
95-[BooleanEntry(k(g, C), true), StringEntry(k(h, C), D)]
98+@Callable(w)
99+func setFarming (E) = valueOrElse(x(w), {
100+ let r = q(E)
101+[StringEntry(g, r)]
96102 })
97103
98104
99105
100-@Callable(t)
101-func removeAmm (C) = valueOrElse(u(t), [DeleteEntry(k(g, C))])
106+@Callable(w)
107+func setQuoteAsset (F,G) = valueOrElse(x(w), {
108+ let H = q(G)
109+[StringEntry(d, F), StringEntry(e, G)]
110+ })
102111
103112
104113
105-@Callable(t)
106-func setGovernanceAsset (z) = valueOrElse(u(t), {
107- let F = fromBase58String(z)
108- let G = assetInfo(F)
109- if ($isInstanceOf(G, "Asset"))
114+@Callable(w)
115+func setStakingAddress (G) = valueOrElse(x(w), {
116+ let H = q(G)
117+[StringEntry(f, G)]
118+ })
119+
120+
121+
122+@Callable(w)
123+func addAmm (I,J) = valueOrElse(x(w), {
124+ let K = q(I)
125+[BooleanEntry(n(h, I), true), StringEntry(n(i, I), J)]
126+ })
127+
128+
129+
130+@Callable(w)
131+func removeAmm (I) = valueOrElse(x(w), [DeleteEntry(n(h, I))])
132+
133+
134+
135+@Callable(w)
136+func setGovernanceAsset (F) = valueOrElse(x(w), {
137+ let L = fromBase58String(F)
138+ let M = assetInfo(L)
139+ if ($isInstanceOf(M, "Asset"))
110140 then {
111- let H = G
112- if ((H.decimals != 8))
141+ let N = M
142+ if ((N.decimals != 8))
113143 then throw("Invalid asset decimals, should be 8")
114- else [StringEntry(i, z)]
144+ else [StringEntry(j, F)]
115145 }
116146 else throw("Can't find asset")
117147 })
118148
119149
120-@Verifier(I)
121-func J () = sigVerify(I.bodyBytes, I.proofs[0], fromBase58String(p()))
150+@Verifier(O)
151+func P () = sigVerify(O.bodyBytes, O.proofs[0], fromBase58String(s()))
122152
Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# 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
16-let g = "k_amm"
16+let g = "k_farming_address"
1717
18-let h = "k_amm_data"
18+let h = "k_amm"
1919
20-let i = "k_gov_asset"
20+let i = "k_amm_data"
2121
22-let j = "k_miner_address"
22+let j = "k_gov_asset"
2323
24-func k (l,m) = ((l + "_") + m)
24+let k = "k_miner_address"
25+
26+let l = "k_orders_address"
27+
28+let m = "k_referral_address"
29+
30+func n (o,p) = ((o + "_") + p)
2531
2632
27-func n (o) = toString(valueOrErrorMessage(addressFromString(o), (("Can't parse \"" + o) + "\" as address")))
33+func q (r) = toString(valueOrErrorMessage(addressFromString(r), (("Can't parse \"" + r) + "\" as address")))
2834
2935
30-func p () = getStringValue(this, c)
36+func s () = getStringValue(this, c)
3137
3238
33-func q () = (getString(this, b) == unit)
39+func t () = (getString(this, b) == unit)
3440
3541
36-func r () = addressFromStringValue(valueOrErrorMessage(getString(this, b), "Admin not defined"))
42+func u () = addressFromStringValue(valueOrErrorMessage(getString(this, b), "Admin not defined"))
3743
3844
39-func s (t) = if (if (q())
45+func v (w) = if (if (t())
4046 then true
41- else (t.caller == r()))
47+ else (w.caller == u()))
4248 then unit
4349 else throw("Only the Admin itself can invoke this function")
4450
4551
46-func u (t) = if ((t.caller == r()))
52+func x (w) = if ((w.caller == u()))
4753 then unit
4854 else throw("Only the Admin itself can invoke this function")
4955
5056
51-@Callable(t)
52-func setAdmin (v) = valueOrElse(s(t), {
53- let w = fromBase58String(v)
54- let o = addressFromPublicKey(w)
55-[StringEntry(b, toString(o)), StringEntry(c, v)]
57+@Callable(w)
58+func setAdmin (y) = valueOrElse(v(w), {
59+ let z = fromBase58String(y)
60+ let r = addressFromPublicKey(z)
61+[StringEntry(b, toString(r)), StringEntry(c, y)]
5662 })
5763
5864
5965
60-@Callable(t)
61-func setInsuranceFund (x) = valueOrElse(u(t), {
62- let o = n(x)
63-[StringEntry(a, o)]
66+@Callable(w)
67+func setInsuranceFund (A) = valueOrElse(x(w), {
68+ let r = q(A)
69+[StringEntry(a, r)]
6470 })
6571
6672
6773
68-@Callable(t)
69-func setLiquidityMiner (y) = valueOrElse(u(t), {
70- let o = n(y)
71-[StringEntry(j, o)]
74+@Callable(w)
75+func setLiquidityMiner (B) = valueOrElse(x(w), {
76+ let r = q(B)
77+[StringEntry(k, r)]
7278 })
7379
7480
7581
76-@Callable(t)
77-func setQuoteAsset (z,A) = valueOrElse(u(t), {
78- let B = n(A)
79-[StringEntry(d, z), StringEntry(e, A)]
82+@Callable(w)
83+func setOrders (C) = valueOrElse(x(w), {
84+ let r = q(C)
85+[StringEntry(l, r)]
8086 })
8187
8288
8389
84-@Callable(t)
85-func setStakingAddress (A) = valueOrElse(u(t), {
86- let B = n(A)
87-[StringEntry(f, A)]
90+@Callable(w)
91+func setReferral (D) = valueOrElse(x(w), {
92+ let r = q(D)
93+[StringEntry(m, r)]
8894 })
8995
9096
9197
92-@Callable(t)
93-func addAmm (C,D) = valueOrElse(u(t), {
94- let E = n(C)
95-[BooleanEntry(k(g, C), true), StringEntry(k(h, C), D)]
98+@Callable(w)
99+func setFarming (E) = valueOrElse(x(w), {
100+ let r = q(E)
101+[StringEntry(g, r)]
96102 })
97103
98104
99105
100-@Callable(t)
101-func removeAmm (C) = valueOrElse(u(t), [DeleteEntry(k(g, C))])
106+@Callable(w)
107+func setQuoteAsset (F,G) = valueOrElse(x(w), {
108+ let H = q(G)
109+[StringEntry(d, F), StringEntry(e, G)]
110+ })
102111
103112
104113
105-@Callable(t)
106-func setGovernanceAsset (z) = valueOrElse(u(t), {
107- let F = fromBase58String(z)
108- let G = assetInfo(F)
109- if ($isInstanceOf(G, "Asset"))
114+@Callable(w)
115+func setStakingAddress (G) = valueOrElse(x(w), {
116+ let H = q(G)
117+[StringEntry(f, G)]
118+ })
119+
120+
121+
122+@Callable(w)
123+func addAmm (I,J) = valueOrElse(x(w), {
124+ let K = q(I)
125+[BooleanEntry(n(h, I), true), StringEntry(n(i, I), J)]
126+ })
127+
128+
129+
130+@Callable(w)
131+func removeAmm (I) = valueOrElse(x(w), [DeleteEntry(n(h, I))])
132+
133+
134+
135+@Callable(w)
136+func setGovernanceAsset (F) = valueOrElse(x(w), {
137+ let L = fromBase58String(F)
138+ let M = assetInfo(L)
139+ if ($isInstanceOf(M, "Asset"))
110140 then {
111- let H = G
112- if ((H.decimals != 8))
141+ let N = M
142+ if ((N.decimals != 8))
113143 then throw("Invalid asset decimals, should be 8")
114- else [StringEntry(i, z)]
144+ else [StringEntry(j, F)]
115145 }
116146 else throw("Can't find asset")
117147 })
118148
119149
120-@Verifier(I)
121-func J () = sigVerify(I.bodyBytes, I.proofs[0], fromBase58String(p()))
150+@Verifier(O)
151+func P () = sigVerify(O.bodyBytes, O.proofs[0], fromBase58String(s()))
122152

github/deemru/w8io/6500d08 
46.11 ms