tx · AEWQDPGy8gZPtmCjHCTbEmw7MYrNENUFpeUekH5LXinY

3MxiR4vDPzVeaEPgznfS4zi4uLd2nnQuGy9:  -0.01100000 Waves

2023.10.06 11:55 [2786549] smart account 3MxiR4vDPzVeaEPgznfS4zi4uLd2nnQuGy9 > SELF 0.00000000 Waves

{ "type": 13, "id": "AEWQDPGy8gZPtmCjHCTbEmw7MYrNENUFpeUekH5LXinY", "fee": 1100000, "feeAssetId": null, "timestamp": 1696582534537, "version": 2, "chainId": 84, "sender": "3MxiR4vDPzVeaEPgznfS4zi4uLd2nnQuGy9", "senderPublicKey": "4AVkL2DQJ8sngCNyArYueNuPS7cvygnakPJhU65LfPfu", "proofs": [ "5PpZtTENAhjhuhpS8mDdNq83cYNoyE9aA1DFEUwT3XYUYqwGzPMBSzhiWBBduGbtxipvTcxd1TyYcrfLw1pG1ADv", "4pkhQrynym59PJFdFrABjVnyBqYx2H7VqwJZKyYrHVXq18cT4dSatokG2t8dek1rE4BusCD39KYShbGV76aaWUre" ], "script": "base64:BgIRCAISAwoBGBIDCgEYEgMKARgcAA5BWExZX01BSU5fQUREUgkBB0FkZHJlc3MBARoBVEdh0UpNzn/72+6l9L3Wwi2aSOpC0rlhmwAMQVhMWV9GQVJNSU5HCQEHQWRkcmVzcwEBGgFUiFrCGKZVQmFa0TmuSd5FGDc6uNWQtIjpAA5BWExZX1RPS0VOT01JQwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDEFYTFlfRkFSTUlORwIRdG9rZW5vbWljQ29udHJhY3QCGENhbid0IGdldCB0b2tlbm9taWMgYWRkcgANQVhMWV9URUFNX0JPWAkBB0FkZHJlc3MBARoBVOklXEf1z5bkgzXbUQsFjOvwGd12KKCp+gAMQVhMWV9TVEFLSU5HCQEHQWRkcmVzcwEBGgFUoahv7LNLfrTJXgHTjP0PfUhduUwxjCRLAAdTRl9QT09MAgJTRgAHV1hfUE9PTAICV1gAFEFNT1VOVF9XQVZFU19GT1JfRkVFAIDC1y8AD1BFUkNFTlRfVE9fVEVBTQAyAAlrQXhseVBvb2wCCGF4bHlQb29sAAxrQVhMWVRva2VuSWQCC2F4bHlUb2tlbklkAAprU2hhcmVQb29sAgxfcG9vbFNoYXJlSWQABWtQb29sAgVwb29sXwAJa0FkbWluMVBLAhVncm91cDFfYWRtaW4xX3B1Yl9rZXkACWtBZG1pbjJQSwIVZ3JvdXAxX2FkbWluMl9wdWJfa2V5AAlrQWRtaW4zUEsCFWdyb3VwMV9hZG1pbjNfcHViX2tleQAPa09wZXJhdG9yQ2FsbFBLAhJhZG1pbl9jYWxsX3B1Yl9rZXkACGFkbWluMVBLCQDZBAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ5BWExZX01BSU5fQUREUgUJa0FkbWluMVBLAhJDYW4ndCBnZXQgYWRtaW4xUEsACGFkbWluMlBLCQDZBAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ5BWExZX01BSU5fQUREUgUJa0FkbWluMlBLAhJDYW4ndCBnZXQgYWRtaW4yUEsACGFkbWluM1BLCQDZBAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ5BWExZX01BSU5fQUREUgUJa0FkbWluM1BLAhJDYW4ndCBnZXQgYWRtaW4zUEsACm9wZXJhdG9yUEsJANkEAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDkFYTFlfTUFJTl9BRERSBQ9rT3BlcmF0b3JDYWxsUEsCFENhbid0IGdldCBvcGVyYXRvclBLAAZheGx5SWQJANkEAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDkFYTFlfVE9LRU5PTUlDBQxrQVhMWVRva2VuSWQCF0Nhbid0IGdldCBheGx5IHRva2VuIGlkAAhheGx5UG9vbAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQxBWExZX0ZBUk1JTkcFCWtBeGx5UG9vbAIWQ2FuJ3QgZ2V0IGF4bHlQb29sIGtleQITQ2FuJ3QgZ2V0IGF4bHkgcG9vbAEPdW5rbm93blBvb2xUeXBlAAkAAgECD1dyb25nIHBvb2wgdHlwZQEKaXNTZWxmQ2FsbAEBaQMJAAACCAUBaQZjYWxsZXIFBHRoaXMFBHVuaXQJAAIBAitPbmx5IGNvbnRyYWN0IGl0c2VsZiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAQlsaXN0VG9JbnQCAWEEaXRlbQkAzQgCBQFhCQENcGFyc2VJbnRWYWx1ZQEFBGl0ZW0BEGRpcmVjdFN3b3BmaUNQTU0BBXJBcmdzBARkQXBwCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFBXJBcmdzAAEEA3BtdAQEcG10UAkAtQkCCQCRAwIFBXJBcmdzAAICAXwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQkAkQMCBQRwbXRQAAAJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQRwbXRQAAEFA25pbAQLbWluVG9SZWNpdmUJAJEDAgUFckFyZ3MAAwkA/AcEBQRkQXBwAgxjYWxsRnVuY3Rpb24JAMwIAgIIZXhjaGFuZ2UJAMwIAgkAzAgCBQttaW5Ub1JlY2l2ZQUDbmlsBQNuaWwFA3BtdAETZGlyZWN0Um91dGluZ1N3b3BmaQEFckFyZ3MEBGRBcHAJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUFckFyZ3MAAQQDcG10BARw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a2VucyB0byBhaXJkcm9wBANpbnYJAPwHBAUIYXhseVBvb2wCDGNhbGxGdW5jdGlvbgkAzAgCAghleGNoYW5nZQkAzAgCCQDMCAICATAFA25pbAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0BQl0b1N0YWtpbmcFA25pbAMJAAACBQNpbnYFA2ludgQLYXhseUJhbGFuY2UJAPAHAgUEdGhpcwUGYXhseUlkAwkAAAIFC2F4bHlCYWxhbmNlBQtheGx5QmFsYW5jZQQEaW52QQkA/AcEBQxBWExZX1NUQUtJTkcCB2FpcmRyb3AFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGYXhseUlkBQtheGx5QmFsYW5jZQUDbmlsAwkAAAIFBGludkEFBGludkEJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUNQVhMWV9URUFNX0JPWAUGdG9UZWFtBQR1bml0BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAckbWF0Y2gwBQJ0eAMJAAECBQckbWF0Y2gwAhdJbnZva2VTY3JpcHRUcmFuc2FjdGlvbgQDaW52BQckbWF0Y2gwBAppc1JpZ2h0RmVlAwkAAAIIBQNpbnYDZmVlAKD3NgkAAAIIBQNpbnYKZmVlQXNzZXRJZAUEdW5pdAcECmlzRXhMcENhbGwJAAACCAUDaW52CGZ1bmN0aW9uAgtleGNoYW5nZUxwcwQOaXNFeFRva2Vuc0NhbGwJAAACCAUDaW52CGZ1bmN0aW9uAg5leGNoYW5nZVRva2VucwQQaXNBaXJkcm9wU3Rha2luZwkAAAIIBQNpbnYIZnVuY3Rpb24CDmFpcmRyb3BTdGFraW5nBBJhZG1pblB1YktleTFTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQhhZG1pbjFQSwABAAAEEmFkbWluUHViS2V5MlNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCGFkbWluMlBLAAEAAAQSYWRtaW5QdWJLZXkzU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUIYWRtaW4zUEsAAQAABBVhZG1pblB1YktleUNhbGxTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQpvcGVyYXRvclBLAAEAAAQQc2lnbmVkQnlPbmVBZG1pbgkAZwIJAGQCCQBkAgkAZAIFEmFkbWluUHViS2V5MVNpZ25lZAUSYWRtaW5QdWJLZXkyU2lnbmVkBRJhZG1pblB1YktleTNTaWduZWQFFWFkbWluUHViS2V5Q2FsbFNpZ25lZAABAwMFCmlzUmlnaHRGZWUDAwUKaXNFeExwQ2FsbAYFDmlzRXhUb2tlbnNDYWxsBgUQaXNBaXJkcm9wU3Rha2luZwcFEHNpZ25lZEJ5T25lQWRtaW4HBBJhZG1pblB1YktleTFTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQhhZG1pbjFQSwABAAAEEmFkbWluUHViS2V5MlNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFCGFkbWluMlBLAAEAAAQSYWRtaW5QdWJLZXkzU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAgUIYWRtaW4zUEsAAQAACQBnAgkAZAIJAGQCBRJhZG1pblB1YktleTFTaWduZWQFEmFkbWluUHViS2V5MlNpZ25lZAUSYWRtaW5QdWJLZXkzU2lnbmVkAAIvvm2U", "height": 2786549, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: C4XZSBFndDbybXHs9EzPDfkXAvhrG7sWnKHANTw58CxQ Next: EmgAvuhRknuiKRvjrYgSmCVBFbk8Uju4iHUtrqH1EKUL Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = Address(base58'3MvRWw2FPEimFCTGtK7qY9uAJbM7XJ4ZfJS')
55
6-let b = "SF"
6+let b = Address(base58'3N2M4PztorHwrfENp7D6LhYGgGodjiD1fjn')
77
8-let c = "WX"
8+let c = addressFromStringValue(valueOrErrorMessage(getString(b, "tokenomicContract"), "Can't get tokenomic addr"))
99
10-let d = "_poolShareId"
10+let d = Address(base58'3NBAqyU7HpCjXtX7ymiEGiUkrw7qe9bSdxm')
1111
12-let e = "pool_"
12+let e = Address(base58'3N4erM2YbPHzpzNT31KQbgHxQoRdiJdFFTY')
1313
14-let f = "group1_admin1_pub_key"
14+let f = "SF"
1515
16-let g = "group1_admin2_pub_key"
16+let g = "WX"
1717
18-let h = "group1_admin3_pub_key"
18+let h = 100000000
1919
20-let i = "admin_call_pub_key"
20+let i = 50
2121
22-let j = fromBase58String(valueOrErrorMessage(getString(a, f), "Can't get admin1PK"))
22+let j = "axlyPool"
2323
24-let k = fromBase58String(valueOrErrorMessage(getString(a, g), "Can't get admin2PK"))
24+let k = "axlyTokenId"
2525
26-let l = fromBase58String(valueOrErrorMessage(getString(a, h), "Can't get admin3PK"))
26+let l = "_poolShareId"
2727
28-let m = fromBase58String(valueOrErrorMessage(getString(a, i), "Can't get operatorPK"))
28+let m = "pool_"
2929
30-func n () = throw("Wrong pool type")
30+let n = "group1_admin1_pub_key"
31+
32+let o = "group1_admin2_pub_key"
33+
34+let p = "group1_admin3_pub_key"
35+
36+let q = "admin_call_pub_key"
37+
38+let r = fromBase58String(valueOrErrorMessage(getString(a, n), "Can't get admin1PK"))
39+
40+let s = fromBase58String(valueOrErrorMessage(getString(a, o), "Can't get admin2PK"))
41+
42+let t = fromBase58String(valueOrErrorMessage(getString(a, p), "Can't get admin3PK"))
43+
44+let u = fromBase58String(valueOrErrorMessage(getString(a, q), "Can't get operatorPK"))
45+
46+let v = fromBase58String(valueOrErrorMessage(getString(c, k), "Can't get axly token id"))
47+
48+let w = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(b, j), "Can't get axlyPool key")), "Can't get axly pool")
49+
50+func x () = throw("Wrong pool type")
3151
3252
33-func o (p,q) = (p :+ parseIntValue(q))
53+func y (z) = if ((z.caller == this))
54+ then unit
55+ else throw("Only contract itself can call this function")
3456
3557
36-func r (s) = {
37- let t = addressFromStringValue(s[1])
38- let u = {
39- let v = split(s[2], "|")
40-[AttachedPayment(fromBase58String(v[0]), parseIntValue(v[1]))]
58+func A (B,C) = (B :+ parseIntValue(C))
59+
60+
61+func D (E) = {
62+ let F = addressFromStringValue(E[1])
63+ let G = {
64+ let H = split(E[2], "|")
65+[AttachedPayment(fromBase58String(H[0]), parseIntValue(H[1]))]
4166 }
42- let w = s[3]
43- invoke(t, "callFunction", ["exchange", [w]], u)
67+ let I = E[3]
68+ invoke(F, "callFunction", ["exchange", [I]], G)
4469 }
4570
4671
47-func x (s) = {
48- let t = addressFromStringValue(s[1])
49- let u = {
50- let v = split(s[2], "|")
51-[AttachedPayment(fromBase58String(v[0]), parseIntValue(v[1]))]
72+func J (E) = {
73+ let F = addressFromStringValue(E[1])
74+ let G = {
75+ let H = split(E[2], "|")
76+[AttachedPayment(fromBase58String(H[0]), parseIntValue(H[1]))]
5277 }
53- let y = {
54- let z = split(s[3], "|")
55- let A = split(z[0], ",")
56- let B = split(z[1], ",")
57- let C = {
58- let D = split(z[2], ",")
59- let E = size(D)
60- let F = nil
61- func G (H,I) = if ((I >= E))
62- then H
63- else o(H, D[I])
78+ let K = {
79+ let L = split(E[3], "|")
80+ let M = split(L[0], ",")
81+ let N = split(L[1], ",")
82+ let O = {
83+ let P = split(L[2], ",")
84+ let Q = size(P)
85+ let R = nil
86+ func S (T,U) = if ((U >= Q))
87+ then T
88+ else A(T, P[U])
6489
65- func J (H,I) = if ((I >= E))
66- then H
90+ func V (T,U) = if ((U >= Q))
91+ then T
6792 else throw("List size exceeds 3")
6893
69- J(G(G(G(F, 0), 1), 2), 3)
94+ V(S(S(S(R, 0), 1), 2), 3)
7095 }
71- let K = {
72- let D = split(z[3], ",")
73- let E = size(D)
74- let F = nil
75- func L (H,I) = if ((I >= E))
76- then H
77- else o(H, D[I])
96+ let W = {
97+ let P = split(L[3], ",")
98+ let Q = size(P)
99+ let R = nil
100+ func X (T,U) = if ((U >= Q))
101+ then T
102+ else A(T, P[U])
78103
79- func M (H,I) = if ((I >= E))
80- then H
104+ func Y (T,U) = if ((U >= Q))
105+ then T
81106 else throw("List size exceeds 3")
82107
83- M(L(L(L(F, 0), 1), 2), 3)
108+ Y(X(X(X(R, 0), 1), 2), 3)
84109 }
85- let N = split(z[4], ",")
86- let w = parseIntValue(z[5])
87-[A, B, C, K, N, w]
110+ let Z = split(L[4], ",")
111+ let I = parseIntValue(L[5])
112+[M, N, O, W, Z, I]
88113 }
89- invoke(t, "routingTrade", y, u)
114+ invoke(F, "routingTrade", K, G)
90115 }
91116
92117
93-@Callable(O)
94-func exchangeLps (P) = {
95- func Q (p,R) = {
96- let S = fromBase58String(R)
97- let T = assetBalance(this, S)
98- let U = valueOrErrorMessage(getString(a, (R + d)), ("Can't get pool of lp:" + R))
99- let V = valueOrErrorMessage(getString(a, (e + U)), "Pool is not inited")
100- let W = valueOrErrorMessage(addressFromString(U), "unknown addr")
101- if ((T > 0))
118+@Callable(z)
119+func exchangeLps (aa) = valueOrElse(y(z), {
120+ func ab (B,ac) = {
121+ let ad = fromBase58String(ac)
122+ let ae = assetBalance(this, ad)
123+ let af = valueOrErrorMessage(getString(a, (ac + l)), ("Can't get pool of lp:" + ac))
124+ let ag = valueOrErrorMessage(getString(a, (m + af)), "Pool is not inited")
125+ let ah = valueOrErrorMessage(addressFromString(af), "unknown addr")
126+ if ((ae > 0))
102127 then {
103- let X = if ((V == b))
104- then invoke(W, "callFunction", ["withdraw", ["0"]], [AttachedPayment(S, T)])
105- else if ((V == c))
106- then invoke(W, "get", nil, [AttachedPayment(S, T)])
107- else n()
108- if ((X == X))
109- then (p :+ true)
128+ let ai = if ((ag == f))
129+ then invoke(ah, "callFunction", ["withdraw", ["0"]], [AttachedPayment(ad, ae)])
130+ else if ((ag == g))
131+ then invoke(ah, "get", nil, [AttachedPayment(ad, ae)])
132+ else x()
133+ if ((ai == ai))
134+ then (B :+ true)
110135 else throw("Strict value is not equal to itself.")
111136 }
112- else (p :+ false)
137+ else (B :+ false)
113138 }
114139
115- let Y = {
116- let D = P
117- let E = size(D)
118- let F = nil
119- func G (H,I) = if ((I >= E))
120- then H
121- else Q(H, D[I])
140+ let aj = {
141+ let P = aa
142+ let Q = size(P)
143+ let R = nil
144+ func S (T,U) = if ((U >= Q))
145+ then T
146+ else ab(T, P[U])
122147
123- func J (H,I) = if ((I >= E))
124- then H
148+ func V (T,U) = if ((U >= Q))
149+ then T
125150 else throw("List size exceeds 50")
126151
127- J(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(F, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
152+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
128153 }
129- $Tuple2(nil, Y)
130- }
154+ $Tuple2(nil, aj)
155+ })
131156
132157
133158
134-@Callable(O)
135-func exchangeTokens (Z) = {
136- func aa (ab,ac) = {
137- let s = split(ac, "__")
138- if ((s[0] == "directSwopfiCPMM"))
159+@Callable(z)
160+func exchangeTokens (ak) = valueOrElse(y(z), {
161+ func al (am,an) = {
162+ let E = split(an, "__")
163+ if ((E[0] == "directSwopfiCPMM"))
139164 then {
140- let X = r(s)
141- if ((X == X))
142- then (ab :+ X)
165+ let ai = D(E)
166+ if ((ai == ai))
167+ then (am :+ ai)
143168 else throw("Strict value is not equal to itself.")
144169 }
145- else if ((s[0] == "routingSwopfi"))
170+ else if ((E[0] == "routingSwopfi"))
146171 then {
147- let X = x(s)
148- if ((X == X))
149- then (ab :+ X)
172+ let ai = J(E)
173+ if ((ai == ai))
174+ then (am :+ ai)
150175 else throw("Strict value is not equal to itself.")
151176 }
152177 else throw("Unknown route type")
153178 }
154179
155- let Y = {
156- let D = Z
157- let E = size(D)
158- let F = nil
159- func G (H,I) = if ((I >= E))
160- then H
161- else aa(H, D[I])
180+ let aj = {
181+ let P = ak
182+ let Q = size(P)
183+ let R = nil
184+ func S (T,U) = if ((U >= Q))
185+ then T
186+ else al(T, P[U])
162187
163- func J (H,I) = if ((I >= E))
164- then H
188+ func V (T,U) = if ((U >= Q))
189+ then T
165190 else throw("List size exceeds 30")
166191
167- J(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(F, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
192+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
168193 }
169- if ((Y == Y))
194+ if ((aj == aj))
170195 then nil
171196 else throw("Strict value is not equal to itself.")
172- }
197+ })
173198
174199
175-@Verifier(ad)
176-func ae () = {
177- let af = ad
178- if ($isInstanceOf(af, "InvokeScriptTransaction"))
200+
201+@Callable(z)
202+func airdropStaking (ak) = valueOrElse(y(z), {
203+ let ao = wavesBalance(this).available
204+ let ap = (ao - h)
205+ let aq = fraction(ap, i, 100)
206+ let ar = (ap - aq)
207+ if ((0 >= ap))
208+ then throw("No tokens to airdrop")
209+ else if ((0 >= ar))
210+ then throw("No tokens to airdrop")
211+ else {
212+ let ai = invoke(w, "callFunction", ["exchange", ["0"]], [AttachedPayment(unit, ar)])
213+ if ((ai == ai))
214+ then {
215+ let as = assetBalance(this, v)
216+ if ((as == as))
217+ then {
218+ let at = invoke(e, "airdrop", nil, [AttachedPayment(v, as)])
219+ if ((at == at))
220+ then [ScriptTransfer(d, aq, unit)]
221+ else throw("Strict value is not equal to itself.")
222+ }
223+ else throw("Strict value is not equal to itself.")
224+ }
225+ else throw("Strict value is not equal to itself.")
226+ }
227+ })
228+
229+
230+@Verifier(au)
231+func av () = {
232+ let aw = au
233+ if ($isInstanceOf(aw, "InvokeScriptTransaction"))
179234 then {
180- let X = af
181- let ag = if ((X.fee == 900000))
182- then (X.feeAssetId == unit)
235+ let ai = aw
236+ let ax = if ((ai.fee == 900000))
237+ then (ai.feeAssetId == unit)
183238 else false
184- let ah = (X.function == "exchangeLps")
185- let ai = (X.function == "exchangeTokens")
186- let aj = if (sigVerify(ad.bodyBytes, ad.proofs[0], j))
239+ let ay = (ai.function == "exchangeLps")
240+ let az = (ai.function == "exchangeTokens")
241+ let aA = (ai.function == "airdropStaking")
242+ let aB = if (sigVerify(au.bodyBytes, au.proofs[0], r))
187243 then 1
188244 else 0
189- let ak = if (sigVerify(ad.bodyBytes, ad.proofs[0], k))
245+ let aC = if (sigVerify(au.bodyBytes, au.proofs[0], s))
190246 then 1
191247 else 0
192- let al = if (sigVerify(ad.bodyBytes, ad.proofs[0], l))
248+ let aD = if (sigVerify(au.bodyBytes, au.proofs[0], t))
193249 then 1
194250 else 0
195- let am = if (sigVerify(ad.bodyBytes, ad.proofs[0], m))
251+ let aE = if (sigVerify(au.bodyBytes, au.proofs[0], u))
196252 then 1
197253 else 0
198- let an = ((((aj + ak) + al) + am) >= 1)
199- if (if (ag)
200- then if (ah)
254+ let aF = ((((aB + aC) + aD) + aE) >= 1)
255+ if (if (ax)
256+ then if (if (ay)
201257 then true
202- else ai
258+ else az)
259+ then true
260+ else aA
203261 else false)
204- then an
262+ then aF
205263 else false
206264 }
207265 else {
208- let aj = if (sigVerify(ad.bodyBytes, ad.proofs[0], j))
266+ let aB = if (sigVerify(au.bodyBytes, au.proofs[0], r))
209267 then 1
210268 else 0
211- let ak = if (sigVerify(ad.bodyBytes, ad.proofs[1], k))
269+ let aC = if (sigVerify(au.bodyBytes, au.proofs[1], s))
212270 then 1
213271 else 0
214- let al = if (sigVerify(ad.bodyBytes, ad.proofs[2], l))
272+ let aD = if (sigVerify(au.bodyBytes, au.proofs[2], t))
215273 then 1
216274 else 0
217- (((aj + ak) + al) >= 2)
275+ (((aB + aC) + aD) >= 2)
218276 }
219277 }
220278
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = Address(base58'3MvRWw2FPEimFCTGtK7qY9uAJbM7XJ4ZfJS')
55
6-let b = "SF"
6+let b = Address(base58'3N2M4PztorHwrfENp7D6LhYGgGodjiD1fjn')
77
8-let c = "WX"
8+let c = addressFromStringValue(valueOrErrorMessage(getString(b, "tokenomicContract"), "Can't get tokenomic addr"))
99
10-let d = "_poolShareId"
10+let d = Address(base58'3NBAqyU7HpCjXtX7ymiEGiUkrw7qe9bSdxm')
1111
12-let e = "pool_"
12+let e = Address(base58'3N4erM2YbPHzpzNT31KQbgHxQoRdiJdFFTY')
1313
14-let f = "group1_admin1_pub_key"
14+let f = "SF"
1515
16-let g = "group1_admin2_pub_key"
16+let g = "WX"
1717
18-let h = "group1_admin3_pub_key"
18+let h = 100000000
1919
20-let i = "admin_call_pub_key"
20+let i = 50
2121
22-let j = fromBase58String(valueOrErrorMessage(getString(a, f), "Can't get admin1PK"))
22+let j = "axlyPool"
2323
24-let k = fromBase58String(valueOrErrorMessage(getString(a, g), "Can't get admin2PK"))
24+let k = "axlyTokenId"
2525
26-let l = fromBase58String(valueOrErrorMessage(getString(a, h), "Can't get admin3PK"))
26+let l = "_poolShareId"
2727
28-let m = fromBase58String(valueOrErrorMessage(getString(a, i), "Can't get operatorPK"))
28+let m = "pool_"
2929
30-func n () = throw("Wrong pool type")
30+let n = "group1_admin1_pub_key"
31+
32+let o = "group1_admin2_pub_key"
33+
34+let p = "group1_admin3_pub_key"
35+
36+let q = "admin_call_pub_key"
37+
38+let r = fromBase58String(valueOrErrorMessage(getString(a, n), "Can't get admin1PK"))
39+
40+let s = fromBase58String(valueOrErrorMessage(getString(a, o), "Can't get admin2PK"))
41+
42+let t = fromBase58String(valueOrErrorMessage(getString(a, p), "Can't get admin3PK"))
43+
44+let u = fromBase58String(valueOrErrorMessage(getString(a, q), "Can't get operatorPK"))
45+
46+let v = fromBase58String(valueOrErrorMessage(getString(c, k), "Can't get axly token id"))
47+
48+let w = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(b, j), "Can't get axlyPool key")), "Can't get axly pool")
49+
50+func x () = throw("Wrong pool type")
3151
3252
33-func o (p,q) = (p :+ parseIntValue(q))
53+func y (z) = if ((z.caller == this))
54+ then unit
55+ else throw("Only contract itself can call this function")
3456
3557
36-func r (s) = {
37- let t = addressFromStringValue(s[1])
38- let u = {
39- let v = split(s[2], "|")
40-[AttachedPayment(fromBase58String(v[0]), parseIntValue(v[1]))]
58+func A (B,C) = (B :+ parseIntValue(C))
59+
60+
61+func D (E) = {
62+ let F = addressFromStringValue(E[1])
63+ let G = {
64+ let H = split(E[2], "|")
65+[AttachedPayment(fromBase58String(H[0]), parseIntValue(H[1]))]
4166 }
42- let w = s[3]
43- invoke(t, "callFunction", ["exchange", [w]], u)
67+ let I = E[3]
68+ invoke(F, "callFunction", ["exchange", [I]], G)
4469 }
4570
4671
47-func x (s) = {
48- let t = addressFromStringValue(s[1])
49- let u = {
50- let v = split(s[2], "|")
51-[AttachedPayment(fromBase58String(v[0]), parseIntValue(v[1]))]
72+func J (E) = {
73+ let F = addressFromStringValue(E[1])
74+ let G = {
75+ let H = split(E[2], "|")
76+[AttachedPayment(fromBase58String(H[0]), parseIntValue(H[1]))]
5277 }
53- let y = {
54- let z = split(s[3], "|")
55- let A = split(z[0], ",")
56- let B = split(z[1], ",")
57- let C = {
58- let D = split(z[2], ",")
59- let E = size(D)
60- let F = nil
61- func G (H,I) = if ((I >= E))
62- then H
63- else o(H, D[I])
78+ let K = {
79+ let L = split(E[3], "|")
80+ let M = split(L[0], ",")
81+ let N = split(L[1], ",")
82+ let O = {
83+ let P = split(L[2], ",")
84+ let Q = size(P)
85+ let R = nil
86+ func S (T,U) = if ((U >= Q))
87+ then T
88+ else A(T, P[U])
6489
65- func J (H,I) = if ((I >= E))
66- then H
90+ func V (T,U) = if ((U >= Q))
91+ then T
6792 else throw("List size exceeds 3")
6893
69- J(G(G(G(F, 0), 1), 2), 3)
94+ V(S(S(S(R, 0), 1), 2), 3)
7095 }
71- let K = {
72- let D = split(z[3], ",")
73- let E = size(D)
74- let F = nil
75- func L (H,I) = if ((I >= E))
76- then H
77- else o(H, D[I])
96+ let W = {
97+ let P = split(L[3], ",")
98+ let Q = size(P)
99+ let R = nil
100+ func X (T,U) = if ((U >= Q))
101+ then T
102+ else A(T, P[U])
78103
79- func M (H,I) = if ((I >= E))
80- then H
104+ func Y (T,U) = if ((U >= Q))
105+ then T
81106 else throw("List size exceeds 3")
82107
83- M(L(L(L(F, 0), 1), 2), 3)
108+ Y(X(X(X(R, 0), 1), 2), 3)
84109 }
85- let N = split(z[4], ",")
86- let w = parseIntValue(z[5])
87-[A, B, C, K, N, w]
110+ let Z = split(L[4], ",")
111+ let I = parseIntValue(L[5])
112+[M, N, O, W, Z, I]
88113 }
89- invoke(t, "routingTrade", y, u)
114+ invoke(F, "routingTrade", K, G)
90115 }
91116
92117
93-@Callable(O)
94-func exchangeLps (P) = {
95- func Q (p,R) = {
96- let S = fromBase58String(R)
97- let T = assetBalance(this, S)
98- let U = valueOrErrorMessage(getString(a, (R + d)), ("Can't get pool of lp:" + R))
99- let V = valueOrErrorMessage(getString(a, (e + U)), "Pool is not inited")
100- let W = valueOrErrorMessage(addressFromString(U), "unknown addr")
101- if ((T > 0))
118+@Callable(z)
119+func exchangeLps (aa) = valueOrElse(y(z), {
120+ func ab (B,ac) = {
121+ let ad = fromBase58String(ac)
122+ let ae = assetBalance(this, ad)
123+ let af = valueOrErrorMessage(getString(a, (ac + l)), ("Can't get pool of lp:" + ac))
124+ let ag = valueOrErrorMessage(getString(a, (m + af)), "Pool is not inited")
125+ let ah = valueOrErrorMessage(addressFromString(af), "unknown addr")
126+ if ((ae > 0))
102127 then {
103- let X = if ((V == b))
104- then invoke(W, "callFunction", ["withdraw", ["0"]], [AttachedPayment(S, T)])
105- else if ((V == c))
106- then invoke(W, "get", nil, [AttachedPayment(S, T)])
107- else n()
108- if ((X == X))
109- then (p :+ true)
128+ let ai = if ((ag == f))
129+ then invoke(ah, "callFunction", ["withdraw", ["0"]], [AttachedPayment(ad, ae)])
130+ else if ((ag == g))
131+ then invoke(ah, "get", nil, [AttachedPayment(ad, ae)])
132+ else x()
133+ if ((ai == ai))
134+ then (B :+ true)
110135 else throw("Strict value is not equal to itself.")
111136 }
112- else (p :+ false)
137+ else (B :+ false)
113138 }
114139
115- let Y = {
116- let D = P
117- let E = size(D)
118- let F = nil
119- func G (H,I) = if ((I >= E))
120- then H
121- else Q(H, D[I])
140+ let aj = {
141+ let P = aa
142+ let Q = size(P)
143+ let R = nil
144+ func S (T,U) = if ((U >= Q))
145+ then T
146+ else ab(T, P[U])
122147
123- func J (H,I) = if ((I >= E))
124- then H
148+ func V (T,U) = if ((U >= Q))
149+ then T
125150 else throw("List size exceeds 50")
126151
127- J(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(F, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
152+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
128153 }
129- $Tuple2(nil, Y)
130- }
154+ $Tuple2(nil, aj)
155+ })
131156
132157
133158
134-@Callable(O)
135-func exchangeTokens (Z) = {
136- func aa (ab,ac) = {
137- let s = split(ac, "__")
138- if ((s[0] == "directSwopfiCPMM"))
159+@Callable(z)
160+func exchangeTokens (ak) = valueOrElse(y(z), {
161+ func al (am,an) = {
162+ let E = split(an, "__")
163+ if ((E[0] == "directSwopfiCPMM"))
139164 then {
140- let X = r(s)
141- if ((X == X))
142- then (ab :+ X)
165+ let ai = D(E)
166+ if ((ai == ai))
167+ then (am :+ ai)
143168 else throw("Strict value is not equal to itself.")
144169 }
145- else if ((s[0] == "routingSwopfi"))
170+ else if ((E[0] == "routingSwopfi"))
146171 then {
147- let X = x(s)
148- if ((X == X))
149- then (ab :+ X)
172+ let ai = J(E)
173+ if ((ai == ai))
174+ then (am :+ ai)
150175 else throw("Strict value is not equal to itself.")
151176 }
152177 else throw("Unknown route type")
153178 }
154179
155- let Y = {
156- let D = Z
157- let E = size(D)
158- let F = nil
159- func G (H,I) = if ((I >= E))
160- then H
161- else aa(H, D[I])
180+ let aj = {
181+ let P = ak
182+ let Q = size(P)
183+ let R = nil
184+ func S (T,U) = if ((U >= Q))
185+ then T
186+ else al(T, P[U])
162187
163- func J (H,I) = if ((I >= E))
164- then H
188+ func V (T,U) = if ((U >= Q))
189+ then T
165190 else throw("List size exceeds 30")
166191
167- J(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(G(F, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
192+ V(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(S(R, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
168193 }
169- if ((Y == Y))
194+ if ((aj == aj))
170195 then nil
171196 else throw("Strict value is not equal to itself.")
172- }
197+ })
173198
174199
175-@Verifier(ad)
176-func ae () = {
177- let af = ad
178- if ($isInstanceOf(af, "InvokeScriptTransaction"))
200+
201+@Callable(z)
202+func airdropStaking (ak) = valueOrElse(y(z), {
203+ let ao = wavesBalance(this).available
204+ let ap = (ao - h)
205+ let aq = fraction(ap, i, 100)
206+ let ar = (ap - aq)
207+ if ((0 >= ap))
208+ then throw("No tokens to airdrop")
209+ else if ((0 >= ar))
210+ then throw("No tokens to airdrop")
211+ else {
212+ let ai = invoke(w, "callFunction", ["exchange", ["0"]], [AttachedPayment(unit, ar)])
213+ if ((ai == ai))
214+ then {
215+ let as = assetBalance(this, v)
216+ if ((as == as))
217+ then {
218+ let at = invoke(e, "airdrop", nil, [AttachedPayment(v, as)])
219+ if ((at == at))
220+ then [ScriptTransfer(d, aq, unit)]
221+ else throw("Strict value is not equal to itself.")
222+ }
223+ else throw("Strict value is not equal to itself.")
224+ }
225+ else throw("Strict value is not equal to itself.")
226+ }
227+ })
228+
229+
230+@Verifier(au)
231+func av () = {
232+ let aw = au
233+ if ($isInstanceOf(aw, "InvokeScriptTransaction"))
179234 then {
180- let X = af
181- let ag = if ((X.fee == 900000))
182- then (X.feeAssetId == unit)
235+ let ai = aw
236+ let ax = if ((ai.fee == 900000))
237+ then (ai.feeAssetId == unit)
183238 else false
184- let ah = (X.function == "exchangeLps")
185- let ai = (X.function == "exchangeTokens")
186- let aj = if (sigVerify(ad.bodyBytes, ad.proofs[0], j))
239+ let ay = (ai.function == "exchangeLps")
240+ let az = (ai.function == "exchangeTokens")
241+ let aA = (ai.function == "airdropStaking")
242+ let aB = if (sigVerify(au.bodyBytes, au.proofs[0], r))
187243 then 1
188244 else 0
189- let ak = if (sigVerify(ad.bodyBytes, ad.proofs[0], k))
245+ let aC = if (sigVerify(au.bodyBytes, au.proofs[0], s))
190246 then 1
191247 else 0
192- let al = if (sigVerify(ad.bodyBytes, ad.proofs[0], l))
248+ let aD = if (sigVerify(au.bodyBytes, au.proofs[0], t))
193249 then 1
194250 else 0
195- let am = if (sigVerify(ad.bodyBytes, ad.proofs[0], m))
251+ let aE = if (sigVerify(au.bodyBytes, au.proofs[0], u))
196252 then 1
197253 else 0
198- let an = ((((aj + ak) + al) + am) >= 1)
199- if (if (ag)
200- then if (ah)
254+ let aF = ((((aB + aC) + aD) + aE) >= 1)
255+ if (if (ax)
256+ then if (if (ay)
201257 then true
202- else ai
258+ else az)
259+ then true
260+ else aA
203261 else false)
204- then an
262+ then aF
205263 else false
206264 }
207265 else {
208- let aj = if (sigVerify(ad.bodyBytes, ad.proofs[0], j))
266+ let aB = if (sigVerify(au.bodyBytes, au.proofs[0], r))
209267 then 1
210268 else 0
211- let ak = if (sigVerify(ad.bodyBytes, ad.proofs[1], k))
269+ let aC = if (sigVerify(au.bodyBytes, au.proofs[1], s))
212270 then 1
213271 else 0
214- let al = if (sigVerify(ad.bodyBytes, ad.proofs[2], l))
272+ let aD = if (sigVerify(au.bodyBytes, au.proofs[2], t))
215273 then 1
216274 else 0
217- (((aj + ak) + al) >= 2)
275+ (((aB + aC) + aD) >= 2)
218276 }
219277 }
220278

github/deemru/w8io/169f3d6 
118.37 ms