tx · 6ahabtJShHkUqGVxzghff3rHLjpnnAQneudmUbnDCXCF

3PLa7pKSjq74Y5E6P5PxnM24zey78ZKACYe:  -0.00800000 Waves

2022.10.27 10:59 [3355933] smart account 3PLa7pKSjq74Y5E6P5PxnM24zey78ZKACYe > SELF 0.00000000 Waves

{ "type": 13, "id": "6ahabtJShHkUqGVxzghff3rHLjpnnAQneudmUbnDCXCF", "fee": 800000, "feeAssetId": null, "timestamp": 1666857624326, "version": 2, "chainId": 87, "sender": "3PLa7pKSjq74Y5E6P5PxnM24zey78ZKACYe", "senderPublicKey": "AZmWJtuy4GeVrMmJH4hfFBRApe1StvhJSk4jcbT6bArQ", "proofs": [ "37yh7Dr9yH7wbMPvnBg7HVNVyNL7crf9TaxzGZqSbGc2vTwWt6mf4pmuZhfe2H2pBjTmd5rmH8NfkCjeqrq7w5V9" ], "script": "base64:BgIKCAISBgoECAgIARsACWtBc3NldElkQQIKQV9hc3NldF9pZAAJa0Fzc2V0SWRCAgpCX2Fzc2V0X2lkAAlrQmFsYW5jZUECD0FfYXNzZXRfYmFsYW5jZQAJa0JhbGFuY2VCAg9CX2Fzc2V0X2JhbGFuY2UACmtEaXNjb3VudHMCCWRpc2NvdW50cwAPa0Rpc2NvdW50VmFsdWVzAg9kaXNjb3VudF92YWx1ZXMAD2tVc2VyR1N3b3BJbkdvdgINX0dTd29wX2Ftb3VudAAOa1VzZXJTd29wSW5Hb3YCDF9TV09QX2Ftb3VudAAEa0ZlZQIKY29tbWlzc2lvbgANa0FkbWluUHViS2V5MQILYWRtaW5fcHViXzEADWtBZG1pblB1YktleTICC2FkbWluX3B1Yl8yAA1rQWRtaW5QdWJLZXkzAgthZG1pbl9wdWJfMwASa0FkbWluSW52b2tlUHViS2V5AhBhZG1pbl9pbnZva2VfcHViAAtrR292QWRkcmVzcwISZ292ZXJuYW5jZV9hZGRyZXNzAAlmZWVTY2FsZTYAwIQ9AAZvcmFjbGUJAQdBZGRyZXNzAQEaAVeK/whomjW6QM1hdPISN96mN/D6OM7oHjgBE2dldEJhc2U1OEZyb21PcmFjbGUBA2tleQQHJG1hdGNoMAkAnQgCBQZvcmFjbGUFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEBnN0cmluZwUHJG1hdGNoMAkA2QQBBQZzdHJpbmcEB25vdGhpbmcFByRtYXRjaDAJAAIBCQCsAgIFA2tleQIIaXMgZW1wdHkADGFkbWluUHViS2V5MQkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQ1rQWRtaW5QdWJLZXkxAAxhZG1pblB1YktleTIJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUNa0FkbWluUHViS2V5MgAMYWRtaW5QdWJLZXkzCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDWtBZG1pblB1YktleTMAEWFkbWluSW52b2tlUHViS2V5CQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFEmtBZG1pbkludm9rZVB1YktleQAKZ292QWRkcmVzcwkBB0FkZHJlc3MBCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFC2tHb3ZBZGRyZXNzARRjYWxjdWxhdGVGZWVEaXNjb3VudAEIdXNlckFkZHIECnN3b3BBbW91bnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUKZ292QWRkcmVzcwkArAICBQh1c2VyQWRkcgUOa1VzZXJTd29wSW5Hb3YAAAQLZ1N3b3BBbW91bnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUKZ292QWRkcmVzcwkArAICBQh1c2VyQWRkcgUPa1VzZXJHU3dvcEluR292BQpzd29wQW1vdW50BA5kaXNjb3VudFZhbHVlcwkAtQkCCQERQGV4dHJOYXRpdmUoMTA1MykCBQZvcmFjbGUFD2tEaXNjb3VudFZhbHVlcwIBLAQJZGlzY291bnRzCQC1CQIJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBm9yYWNsZQUKa0Rpc2NvdW50cwIBLAMDCQBnAgULZ1N3b3BBbW91bnQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQ5kaXNjb3VudFZhbHVlcwAACQBmAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFDmRpc2NvdW50VmFsdWVzAAEFC2dTd29wQW1vdW50BwkAZQIFCWZlZVNjYWxlNgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCWRpc2NvdW50cwAAAwMJAGcCBQtnU3dvcEFtb3VudAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFDmRpc2NvdW50VmFsdWVzAAEJAGYCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUOZGlzY291bnRWYWx1ZXMAAgULZ1N3b3BBbW91bnQHCQBlAgUJZmVlU2NhbGU2CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUJZGlzY291bnRzAAEDAwkAZwIFC2dTd29wQW1vdW50CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUOZGlzY291bnRWYWx1ZXMAAgkAZgIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQ5kaXNjb3VudFZhbHVlcwADBQtnU3dvcEFtb3VudAcJAGUCBQlmZWVTY2FsZTYJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQlkaXNjb3VudHMAAgMDCQBnAgULZ1N3b3BBbW91bnQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQ5kaXNjb3VudFZhbHVlcwADCQBmAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFDmRpc2NvdW50VmFsdWVzAAQFC2dTd29wQW1vdW50BwkAZQIFCWZlZVNjYWxlNgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCWRpc2NvdW50cwADAwkAZwIFC2dTd29wQW1vdW50CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUOZGlzY291bnRWYWx1ZXMABAkAZQIFCWZlZVNjYWxlNgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCWRpc2NvdW50cwAEBQlmZWVTY2FsZTYBD2dldFBvb2xCYWxhbmNlcwEEcG9vbAQIYmFsYW5jZUEJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHBvb2wFCWtCYWxhbmNlQQQIYmFsYW5jZUIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHBvb2wFCWtCYWxhbmNlQgkAlAoCBQhiYWxhbmNlQQUIYmFsYW5jZUIBDWdldFBvb2xBc3NldHMBBHBvb2wEC3N0ckFzc2V0SWRBCQERQGV4dHJOYXRpdmUoMTA1MykCBQRwb29sBQlrQXNzZXRJZEEEC3N0ckFzc2V0SWRCCQERQGV4dHJOYXRpdmUoMTA1MykCBQRwb29sBQlrQXNzZXRJZEIECGFzc2V0SWRBAwkAAAIFC3N0ckFzc2V0SWRBAgVXQVZFUwUEdW5pdAkA2QQBBQtzdHJBc3NldElkQQQIYXNzZXRJZEIDCQAAAgULc3RyQXNzZXRJZEICBVdBVkVTBQR1bml0CQDZBAEFC3N0ckFzc2V0SWRCCQCWCgQFC3N0ckFzc2V0SWRBBQtzdHJBc3NldElkQgUIYXNzZXRJZEEFCGFzc2V0SWRCAQxnZXRGZWVQYXJhbXMCBHBvb2wGY2FsbGVyBAtmZWVEaXNjb3VudAkBFGNhbGN1bGF0ZUZlZURpc2NvdW50AQUGY2FsbGVyBANmZWUJAG4ECQERQGV4dHJOYXRpdmUoMTA1MCkCBQRwb29sBQRrRmVlBQtmZWVEaXNjb3VudAUJZmVlU2NhbGU2BQdDRUlMSU5HBAZnb3ZGZWUJAG4ECQBrAwUDZmVlACgAZAULZmVlRGlzY291bnQFCWZlZVNjYWxlNgUHQ0VJTElORwkAlAoCBQNmZWUFBmdvdkZlZQENY2FsY3VsYXRlRmVlcwUJcG10QW1vdW50CXRva2VuRnJvbQd0b2tlblRvA2ZlZQ1mZWVHb3Zlcm5hbmNlBBBhbW91bnRXaXRob3V0RmVlCQBrAwUHdG9rZW5UbwUJcG10QW1vdW50CQBkAgUJcG10QW1vdW50BQl0b2tlbkZyb20EDWFtb3VudFdpdGhGZWUJAGsDBRBhbW91bnRXaXRob3V0RmVlCQBlAgUJZmVlU2NhbGU2BQNmZWUFCWZlZVNjYWxlNgkAlAoCBRBhbW91bnRXaXRob3V0RmVlBQ1hbW91bnRXaXRoRmVlAQFpARFjYWxjR2V0QW1vdW50Q1BNTQQIZEFwcEFkZHIIdXNlckFkZHIKcG10QXNzZXRJZAlwbXRBbW91bnQEBHBvb2wJAQdBZGRyZXNzAQkA2QQBBQhkQXBwQWRkcgQLJHQwMzYxNzM2NjMJAQ1nZXRQb29sQXNzZXRzAQUEcG9vbAQIYXNzZXRJZEEIBQskdDAzNjE3MzY2MwJfMQQIYXNzZXRJZEIIBQskdDAzNjE3MzY2MwJfMgQLJHQwMzY2NzM3MTUJAQ9nZXRQb29sQmFsYW5jZXMBBQRwb29sBAhiYWxhbmNlQQgFCyR0MDM2NjczNzE1Al8xBAhiYWxhbmNlQggFCyR0MDM2NjczNzE1Al8yAwMJAAACBQhiYWxhbmNlQQAABgkAAAIFCGJhbGFuY2VCAAAJAAIBAiBDYW4ndCBleGNoYW5nZSB3aXRoIHplcm8gYmFsYW5jZQMJAQEhAQkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgUIYXNzZXRJZEEJAMwIAgUIYXNzZXRJZEIFA25pbAUKcG10QXNzZXRJZAkAAgEJAKwCAgkArAICCQCsAgICJEluY29ycmVjdCBhc3NldCBhdHRhY2hlZC4gRXhwZWN0ZWQ6IAUIYXNzZXRJZEECBCBvciAFCGFzc2V0SWRCBAskdDAzOTc1NDAyMwkBDGdldEZlZVBhcmFtcwIFBHBvb2wFCHVzZXJBZGRyBANmZWUIBQskdDAzOTc1NDAyMwJfMQQGZ292RmVlCAULJHQwMzk3NTQwMjMCXzIECyR0MDQwMzA0MjUzAwkAAAIFCnBtdEFzc2V0SWQFCGFzc2V0SWRBCQENY2FsY3VsYXRlRmVlcwUFCXBtdEFtb3VudAUIYmFsYW5jZUEFCGJhbGFuY2VCBQNmZWUFBmdvdkZlZQkBDWNhbGN1bGF0ZUZlZXMFBQlwbXRBbW91bnQFCGJhbGFuY2VCBQhiYWxhbmNlQQUDZmVlBQZnb3ZGZWUEEGFtb3VudFdpdGhvdXRGZWUIBQskdDA0MDMwNDI1MwJfMQQNYW1vdW50V2l0aEZlZQgFCyR0MDQwMzA0MjUzAl8yCQCUCgIFA25pbAUNYW1vdW50V2l0aEZlZQECdHgBBnZlcmlmeQAEEmFkbWluUHViS2V5MVNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFDGFkbWluUHViS2V5MQABAAAEEmFkbWluUHViS2V5MlNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFDGFkbWluUHViS2V5MgABAAAEEmFkbWluUHViS2V5M1NpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFDGFkbWluUHViS2V5MwABAAAJAGcCCQBkAgkAZAIFEmFkbWluUHViS2V5MVNpZ25lZAUSYWRtaW5QdWJLZXkyU2lnbmVkBRJhZG1pblB1YktleTNTaWduZWQAASRIGOI=", "height": 3355933, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 8M5Jiq4Gnth1yDsaRVAwYFX4J81KsRjsuNDD9RPNeft7 Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "A_asset_id"
5+
6+let b = "B_asset_id"
7+
8+let c = "A_asset_balance"
9+
10+let d = "B_asset_balance"
11+
12+let e = "discounts"
13+
14+let f = "discount_values"
15+
16+let g = "_GSwop_amount"
17+
18+let h = "_SWOP_amount"
19+
20+let i = "commission"
21+
22+let j = "admin_pub_1"
23+
24+let k = "admin_pub_2"
25+
26+let l = "admin_pub_3"
27+
28+let m = "admin_invoke_pub"
29+
30+let n = "governance_address"
31+
32+let o = 1000000
33+
34+let p = Address(base58'3PEbqViERCoKnmcSULh6n2aiMvUdSQdCsom')
35+
36+func q (r) = {
37+ let s = getString(p, r)
38+ if ($isInstanceOf(s, "String"))
39+ then {
40+ let t = s
41+ fromBase58String(t)
42+ }
43+ else {
44+ let u = s
45+ throw((r + "is empty"))
46+ }
47+ }
48+
49+
50+let v = q(j)
51+
52+let w = q(k)
53+
54+let x = q(l)
55+
56+let y = q(m)
57+
58+let z = Address(q(n))
59+
60+func A (B) = {
61+ let C = valueOrElse(getInteger(z, (B + h)), 0)
62+ let D = valueOrElse(getInteger(z, (B + g)), C)
63+ let E = split(getStringValue(p, f), ",")
64+ let F = split(getStringValue(p, e), ",")
65+ if (if ((D >= parseIntValue(E[0])))
66+ then (parseIntValue(E[1]) > D)
67+ else false)
68+ then (o - parseIntValue(F[0]))
69+ else if (if ((D >= parseIntValue(E[1])))
70+ then (parseIntValue(E[2]) > D)
71+ else false)
72+ then (o - parseIntValue(F[1]))
73+ else if (if ((D >= parseIntValue(E[2])))
74+ then (parseIntValue(E[3]) > D)
75+ else false)
76+ then (o - parseIntValue(F[2]))
77+ else if (if ((D >= parseIntValue(E[3])))
78+ then (parseIntValue(E[4]) > D)
79+ else false)
80+ then (o - parseIntValue(F[3]))
81+ else if ((D >= parseIntValue(E[4])))
82+ then (o - parseIntValue(F[4]))
83+ else o
84+ }
85+
86+
87+func G (H) = {
88+ let I = getIntegerValue(H, c)
89+ let J = getIntegerValue(H, d)
90+ $Tuple2(I, J)
91+ }
92+
93+
94+func K (H) = {
95+ let L = getStringValue(H, a)
96+ let M = getStringValue(H, b)
97+ let N = if ((L == "WAVES"))
98+ then unit
99+ else fromBase58String(L)
100+ let O = if ((M == "WAVES"))
101+ then unit
102+ else fromBase58String(M)
103+ $Tuple4(L, M, N, O)
104+ }
105+
106+
107+func P (H,Q) = {
108+ let R = A(Q)
109+ let S = fraction(getIntegerValue(H, i), R, o, CEILING)
110+ let T = fraction(fraction(S, 40, 100), R, o, CEILING)
111+ $Tuple2(S, T)
112+ }
113+
114+
115+func U (V,W,X,S,Y) = {
116+ let Z = fraction(X, V, (V + W))
117+ let aa = fraction(Z, (o - S), o)
118+ $Tuple2(Z, aa)
119+ }
120+
121+
122+@Callable(ab)
123+func calcGetAmountCPMM (ac,B,ad,V) = {
124+ let H = Address(fromBase58String(ac))
125+ let ae = K(H)
126+ let N = ae._1
127+ let O = ae._2
128+ let af = G(H)
129+ let I = af._1
130+ let J = af._2
131+ if (if ((I == 0))
132+ then true
133+ else (J == 0))
134+ then throw("Can't exchange with zero balance")
135+ else if (!(containsElement([N, O], ad)))
136+ then throw(((("Incorrect asset attached. Expected: " + N) + " or ") + O))
137+ else {
138+ let ag = P(H, B)
139+ let S = ag._1
140+ let T = ag._2
141+ let ah = if ((ad == N))
142+ then U(V, I, J, S, T)
143+ else U(V, J, I, S, T)
144+ let Z = ah._1
145+ let aa = ah._2
146+ $Tuple2(nil, aa)
147+ }
148+ }
149+
150+
151+@Verifier(ai)
152+func aj () = {
153+ let ak = if (sigVerify(ai.bodyBytes, ai.proofs[0], v))
154+ then 1
155+ else 0
156+ let al = if (sigVerify(ai.bodyBytes, ai.proofs[1], w))
157+ then 1
158+ else 0
159+ let am = if (sigVerify(ai.bodyBytes, ai.proofs[2], x))
160+ then 1
161+ else 0
162+ (((ak + al) + am) >= 1)
163+ }
164+

github/deemru/w8io/6500d08 
18.09 ms