tx · 3T2LbSdMzfMKBjUfxnNod9JeCwsCS5VG2WknH2jnbs7v

3N2j6yXv5aLx1DTVGpwUmJHKZb5XwMfWZhk:  -1.00500000 Waves

2022.07.14 10:50 [2139114] smart account 3N2j6yXv5aLx1DTVGpwUmJHKZb5XwMfWZhk > SELF 0.00000000 Waves

{ "type": 13, "id": "3T2LbSdMzfMKBjUfxnNod9JeCwsCS5VG2WknH2jnbs7v", "fee": 100500000, "feeAssetId": null, "timestamp": 1657785069019, "version": 2, "chainId": 84, "sender": "3N2j6yXv5aLx1DTVGpwUmJHKZb5XwMfWZhk", "senderPublicKey": "8ZzMCsQ15BKiHk944146A5WQ8eSFd8vaff4xaktCKSBK", "proofs": [ "4gQ7cCbEA98SStxgQUt7o7RHhFT9PXaSqqAgYQLe7HMBu2g7ai8GZU5G2Yj7PZD6EjyeKeS1skwvSUMTm2tW2fTp" ], "script": "base64:BgIRCAISAwoBCBIAEgASBAoCCAgRAAlzZXBhcmF0b3ICAV8BDWdldFBhaXJMZW5ndGgACQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMCCnBhaXJMZW5ndGgAAAENc2V0UGFpckxlbmdodAEJbmV3TGVuZ3RoCQEMSW50ZWdlckVudHJ5AgIKcGFpckxlbmd0aAUJbmV3TGVuZ3RoAQpnZXRQYWlyS2V5AgZ0b2tlbjAGdG9rZW4xBAh0b2tlbjBCVgkAsQkBCQDZBAEFBnRva2VuMAQIdG9rZW4xQlYJALEJAQkA2QQBBQZ0b2tlbjEDCQBmAgUIdG9rZW4xQlYFCHRva2VuMEJWCQC5CQIJAMwIAgUGdG9rZW4wCQDMCAIFBnRva2VuMQUDbmlsBQlzZXBhcmF0b3IJALkJAgkAzAgCBQZ0b2tlbjEJAMwIAgUGdG9rZW4wBQNuaWwFCXNlcGFyYXRvcgEOZ2V0UGFpclRva2VuSWQCBnRva2VuMAZ0b2tlbjEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAQpnZXRQYWlyS2V5AgUGdG9rZW4wBQZ0b2tlbjEBDnNldFBhaXJUb2tlbklkAwZ0b2tlbjAGdG9rZW4xB2lzc3VlSWQJAQtTdHJpbmdFbnRyeQIJAQpnZXRQYWlyS2V5AgUGdG9rZW4wBQZ0b2tlbjEFB2lzc3VlSWQBDmpvaW5QYWlyU3RydWN0BAZ0b2tlbjAGdG9rZW4xCHJlc2VydmUwCHJlc2VydmUxCQC5CQIJAMwIAgUGdG9rZW4wCQDMCAIFBnRva2VuMQkAzAgCCQCkAwEFCHJlc2VydmUwCQDMCAIJAKQDAQUIcmVzZXJ2ZTEFA25pbAUJc2VwYXJhdG9yAQ5nZXRQYWlyRGV0YWlscwEJbHBUb2tlbklkBAdkZXRhaWxzCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUJbHBUb2tlbklkAhVhc3NldElkMF9hc3NldElkMV8wXzAFCXNlcGFyYXRvcgkAlgoECQCRAwIFB2RldGFpbHMAAAkAkQMCBQdkZXRhaWxzAAEJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQdkZXRhaWxzAAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQdkZXRhaWxzAAMBDnNldFBhaXJEZXRhaWxzBQlscFRva2VuSWQGdG9rZW4wBnRva2VuMQhyZXNlcnZlMAhyZXNlcnZlMQkBC1N0cmluZ0VudHJ5AgUJbHBUb2tlbklkCQEOam9pblBhaXJTdHJ1Y3QEBQZ0b2tlbjAFBnRva2VuMQUIcmVzZXJ2ZTAFCHJlc2VydmUxARJnZXRQYWlyVG90YWxTdXBwbHkBCWxwVG9rZW5JZAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQCsAgIJAKwCAgILdG90YWxTdXBwbHkFCXNlcGFyYXRvcgUJbHBUb2tlbklkAAABEnNldFBhaXJUb3RhbFN1cHBseQIJbHBUb2tlbklkDm5ld1RvdGFsU3VwcGx5CQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICC3RvdGFsU3VwcGx5BQlzZXBhcmF0b3IFCWxwVG9rZW5JZAUObmV3VG90YWxTdXBwbHkBCWlzTmV3UGFpcgIGdG9rZW4wBnRva2VuMQkBASEBCQEJaXNEZWZpbmVkAQkAoggBCQEKZ2V0UGFpcktleQIFBnRva2VuMAUGdG9rZW4xAQ1pc1Rva2VuRXhpc3RzAQd0b2tlbklkBgAEbWF4eACAwtcvAAh6ZXJvQWRkcgkBBXZhbHVlAQkApggBAiMzTTRxd0RvbVJhYkpLTFp4dVhod2ZxTEFwUWtVNTkybld4RgARTUlOSU1VTV9MSVFVSURJVFkAoI0GAQ1jYWxjQW1vdW50T3V0AwhhbW91bnRJbglyZXNlcnZlSW4KcmVzZXJ2ZU91dAQPYW1vdW50SW5XaXRoRmVlCQBoAgUIYW1vdW50SW4A5QcECW51bWVyYXRvcgkAaAIFD2Ftb3VudEluV2l0aEZlZQUKcmVzZXJ2ZU91dAQLZGVub21pbmF0b3IJAGQCCQBoAgUJcmVzZXJ2ZUluAOgHBQ9hbW91bnRJbldpdGhGZWUJAGkCBQludW1lcmF0b3IFC2Rlbm9taW5hdG9yBAFpAQRzd2FwAQh0b2tlbk91dAQIYW1vdW50SW4JAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAd0b2tlbkluCQDYBAEJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQHbHBUb2tlbgkBDmdldFBhaXJUb2tlbklkAgUHdG9rZW5JbgUIdG9rZW5PdXQECyR0MDI1MjkyNjExCQEOZ2V0UGFpckRldGFpbHMBBQdscFRva2VuBApwYWlyVG9rZW4wCAULJHQwMjUyOTI2MTECXzEECnBhaXJUb2tlbjEIBQskdDAyNTI5MjYxMQJfMgQMcGFpclJlc2VydmUwCAULJHQwMjUyOTI2MTECXzMEDHBhaXJSZXNlcnZlMQgFCyR0MDI1MjkyNjExAl80BAlhbW91bnRPdXQJAQ1jYWxjQW1vdW50T3V0AwUIYW1vdW50SW4FDHBhaXJSZXNlcnZlMAUMcGFpclJlc2VydmUxCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUJYW1vdW50T3V0CQDZBAEFCnBhaXJUb2tlbjEJAMwIAgkBDnNldFBhaXJEZXRhaWxzBQUHbHBUb2tlbgUHdG9rZW5JbgUIdG9rZW5PdXQJAGQCBQxwYWlyUmVzZXJ2ZTAFCGFtb3VudEluCQBlAgUMcGFpclJlc2VydmUxBQlhbW91bnRPdXQFA25pbAFpAQRtaW50AAQGdG9rZW4wCQDYBAEJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQGdG9rZW4xCQDYBAEJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAEHYXNzZXRJZAQHbHBUb2tlbgkBDmdldFBhaXJUb2tlbklkAgUGdG9rZW4wBQZ0b2tlbjEEB2Ftb3VudDAJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAdhbW91bnQxCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwABBmFtb3VudAQLJHQwMzE1OTMyNDEJAQ5nZXRQYWlyRGV0YWlscwEFB2xwVG9rZW4ECnBhaXJUb2tlbjAIBQskdDAzMTU5MzI0MQJfMQQKcGFpclRva2VuMQgFCyR0MDMxNTkzMjQxAl8yBAxwYWlyUmVzZXJ2ZTAIBQskdDAzMTU5MzI0MQJfMwQMcGFpclJlc2VydmUxCAULJHQwMzE1OTMyNDECXzQEC3RvdGFsU3VwcGx5CQESZ2V0UGFpclRvdGFsU3VwcGx5AQUHbHBUb2tlbgMJAAACBQt0b3RhbFN1cHBseQAABAlsaXF1aWRpdHkJAGUCCQEEc3FydAQJAGgCBQdhbW91bnQwBQdhbW91bnQxAAAAAAUERE9XTgURTUlOSU1VTV9MSVFVSURJVFkJAMwIAgkBB1JlaXNzdWUDCQDZBAEFB2xwVG9rZW4JAGQCBQlsaXF1aWRpdHkFEU1JTklNVU1fTElRVUlESVRZBgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQh6ZXJvQWRkcgURTUlOSU1VTV9MSVFVSURJVFkJANkEAQUHbHBUb2tlbgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFCWxpcXVpZGl0eQkA2QQBBQdscFRva2VuCQDMCAIJARJzZXRQYWlyVG90YWxTdXBwbHkCBQdscFRva2VuCQBkAgUJbGlxdWlkaXR5BRFNSU5JTVVNX0xJUVVJRElUWQkAzAgCCQEOc2V0UGFpckRldGFpbHMFBQdscFRva2VuBQZ0b2tlbjAFBnRva2VuMQkAZAIFDHBhaXJSZXNlcnZlMAUHYW1vdW50MAkAZAIFDHBhaXJSZXNlcnZlMQUHYW1vdW50MQUDbmlsBAlsaXF1aWRpdHkJAJcDAQkAzAgCCQBpAgkAaAIFB2Ftb3VudDAFC3RvdGFsU3VwcGx5BQxwYWlyUmVzZXJ2ZTAJAMwIAgkAaQIJAGgCBQdhbW91bnQxBQt0b3RhbFN1cHBseQUMcGFpclJlc2VydmUxBQNuaWwJAMwIAgkBB1JlaXNzdWUDCQDZBAEFB2xwVG9rZW4FCWxpcXVpZGl0eQYJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQlsaXF1aWRpdHkJANkEAQUHbHBUb2tlbgkAzAgCCQESc2V0UGFpclRvdGFsU3VwcGx5AgUHbHBUb2tlbgkAZAIFC3RvdGFsU3VwcGx5BQlsaXF1aWRpdHkJAMwIAgkBDnNldFBhaXJEZXRhaWxzBQUHbHBUb2tlbgUGdG9rZW4wBQZ0b2tlbjEJAGQCBQxwYWlyUmVzZXJ2ZTAFB2Ftb3VudDAJAGQCBQxwYWlyUmVzZXJ2ZTEFB2Ftb3VudDEFA25pbAFpAQRidXJuAAQIYW1vdW50bHAJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAlhc3NldElkTHAJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQLJHQwNDM0ODQ0NDgJAQ5nZXRQYWlyRGV0YWlscwEJANgEAQUJYXNzZXRJZExwBApwYWlyVG9rZW4wCAULJHQwNDM0ODQ0NDgCXzEECnBhaXJUb2tlbjEIBQskdDA0MzQ4NDQ0OAJfMgQMcGFpclJlc2VydmUwCAULJHQwNDM0ODQ0NDgCXzMEDHBhaXJSZXNlcnZlMQgFCyR0MDQzNDg0NDQ4Al80BAdscFRva2VuCQEOZ2V0UGFpclRva2VuSWQCBQpwYWlyVG9rZW4wBQpwYWlyVG9rZW4xBAt0b3RhbFN1cHBseQkBEmdldFBhaXJUb3RhbFN1cHBseQEFB2xwVG9rZW4EBXNoYXJlCQBpAgkAaAIFCGFtb3VudGxwBQRtYXh4BQt0b3RhbFN1cHBseQQHYW1vdW50MAkAaQIJAGgCBQVzaGFyZQUMcGFpclJlc2VydmUwBQRtYXh4BAdhbW91bnQxCQBpAgkAaAIFBXNoYXJlBQxwYWlyUmVzZXJ2ZTEFBG1heHgJAMwIAgkBBEJ1cm4CCQDZBAEFB2xwVG9rZW4FCGFtb3VudGxwCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUHYW1vdW50MAkA2QQBBQpwYWlyVG9rZW4wCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUHYW1vdW50MQkA2QQBBQpwYWlyVG9rZW4xCQDMCAIJARJzZXRQYWlyVG90YWxTdXBwbHkCBQdscFRva2VuCQBlAgULdG90YWxTdXBwbHkFCGFtb3VudGxwCQDMCAIJAQ5zZXRQYWlyRGV0YWlscwUFB2xwVG9rZW4FCnBhaXJUb2tlbjAFCnBhaXJUb2tlbjEJAGUCBQxwYWlyUmVzZXJ2ZTAFB2Ftb3VudDAJAGUCBQxwYWlyUmVzZXJ2ZTEFB2Ftb3VudDEFA25pbAFpARBhZGRMaXF1aWRpdHlQb29sAgZ0b2tlbjAGdG9rZW4xAwkBCWlzTmV3UGFpcgIFBnRva2VuMAUGdG9rZW4xAwkBAiE9AgUGdG9rZW4wBQZ0b2tlbjEDAwkBDWlzVG9rZW5FeGlzdHMBBQZ0b2tlbjAJAQ1pc1Rva2VuRXhpc3RzAQUGdG9rZW4xBwQIbmV3VG9rZW4JAMIIBQkA2AQBCQDJAQIIBQFpDXRyYW5zYWN0aW9uSWQACgIAAAAAAAYEB2lzc3VlSWQJANgEAQkAuAgBBQhuZXdUb2tlbgQQY3VycmVudFBhaXJJbmRleAkBDWdldFBhaXJMZW5ndGgACQDMCAIFCG5ld1Rva2VuCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKQDAQUQY3VycmVudFBhaXJJbmRleAUHaXNzdWVJZAkAzAgCCQENc2V0UGFpckxlbmdodAEJAGQCBRBjdXJyZW50UGFpckluZGV4AAEJAMwIAgkBDnNldFBhaXJUb2tlbklkAwUGdG9rZW4wBQZ0b2tlbjEFB2lzc3VlSWQJAMwIAgkBDnNldFBhaXJEZXRhaWxzBQUHaXNzdWVJZAUGdG9rZW4wBQZ0b2tlbjEAAAAABQNuaWwJAAIBAgxXcm9uZyB0b2tlbnMJAAIBAgxFcXVhbCB0b2tlbnMJAAIBAhNQYWlyIGFscmVhZHkgZXhpc3RzABejtX0=", "height": 2139114, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6SXoeWqQf8bx81nzHafoynzZ9VGPorntBDAZ5HHNqUSq Next: none Diff:
OldNewDifferences
4545 func w (f,g) = !(isDefined(getString(e(f, g))))
4646
4747
48-func x (y) = {
49- let z = assetInfo(fromBase58String(y))
50- if ($isInstanceOf(z, "Asset"))
51- then {
52- let A = z
53- true
54- }
55- else throw("Bad situation")
48+func x (y) = true
49+
50+
51+let z = 100000000
52+
53+let A = value(addressFromString("3M4qwDomRabJKLZxuXhwfqLApQkU592nWxF"))
54+
55+let B = 100000
56+
57+func C (D,E,F) = {
58+ let G = (D * 997)
59+ let H = (G * F)
60+ let I = ((E * 1000) + G)
61+ (H / I)
5662 }
5763
5864
59-let B = 100000000
60-
61-let C = value(addressFromString("3M4qwDomRabJKLZxuXhwfqLApQkU592nWxF"))
62-
63-let D = 100000
64-
65-func E (F,G,H) = {
66- let I = (F * 997)
67- let J = (I * H)
68- let K = ((G * 1000) + I)
69- (J / K)
70- }
71-
72-
73-@Callable(L)
74-func swap (M) = {
75- let F = value(L.payments[0].amount)
76- let N = toBase58String(value(L.payments[0].assetId))
77- let O = j(N, M)
78- let P = p(O)
79- let Q = P._1
80- let R = P._2
81- let S = P._3
82- let T = P._4
83- let U = E(F, S, T)
84-[ScriptTransfer(L.caller, U, fromBase58String(R)), s(O, N, M, (S + F), (T - U))]
65+@Callable(J)
66+func swap (K) = {
67+ let D = value(J.payments[0].amount)
68+ let L = toBase58String(value(J.payments[0].assetId))
69+ let M = j(L, K)
70+ let N = p(M)
71+ let O = N._1
72+ let P = N._2
73+ let Q = N._3
74+ let R = N._4
75+ let S = C(D, Q, R)
76+[ScriptTransfer(J.caller, S, fromBase58String(P)), s(M, L, K, (Q + D), (R - S))]
8577 }
8678
8779
8880
89-@Callable(L)
81+@Callable(J)
9082 func mint () = {
91- let f = toBase58String(value(L.payments[0].assetId))
92- let g = toBase58String(value(L.payments[1].assetId))
93- let O = j(f, g)
94- let V = value(L.payments[0].amount)
95- let W = value(L.payments[1].amount)
96- let X = p(O)
97- let Q = X._1
98- let R = X._2
99- let S = X._3
100- let T = X._4
101- let Y = t(O)
102- if ((Y == 0))
83+ let f = toBase58String(value(J.payments[0].assetId))
84+ let g = toBase58String(value(J.payments[1].assetId))
85+ let M = j(f, g)
86+ let T = value(J.payments[0].amount)
87+ let U = value(J.payments[1].amount)
88+ let V = p(M)
89+ let O = V._1
90+ let P = V._2
91+ let Q = V._3
92+ let R = V._4
93+ let W = t(M)
94+ if ((W == 0))
10395 then {
104- let Z = (sqrt((V * W), 0, 0, DOWN) - D)
105-[Reissue(fromBase58String(O), (Z + D), true), ScriptTransfer(C, D, fromBase58String(O)), ScriptTransfer(L.caller, Z, fromBase58String(O)), u(O, (Z + D)), s(O, f, g, (S + V), (T + W))]
96+ let X = (sqrt((T * U), 0, 0, DOWN) - B)
97+[Reissue(fromBase58String(M), (X + B), true), ScriptTransfer(A, B, fromBase58String(M)), ScriptTransfer(J.caller, X, fromBase58String(M)), u(M, (X + B)), s(M, f, g, (Q + T), (R + U))]
10698 }
10799 else {
108- let Z = min([((V * Y) / S), ((W * Y) / T)])
109-[Reissue(fromBase58String(O), Z, true), ScriptTransfer(L.caller, Z, fromBase58String(O)), u(O, (Y + Z)), s(O, f, g, (S + V), (T + W))]
100+ let X = min([((T * W) / Q), ((U * W) / R)])
101+[Reissue(fromBase58String(M), X, true), ScriptTransfer(J.caller, X, fromBase58String(M)), u(M, (W + X)), s(M, f, g, (Q + T), (R + U))]
110102 }
111103 }
112104
113105
114106
115-@Callable(L)
107+@Callable(J)
116108 func burn () = {
117- let aa = value(L.payments[0].amount)
118- let ab = value(L.payments[0].assetId)
119- let ac = p(toBase58String(ab))
120- let Q = ac._1
121- let R = ac._2
122- let S = ac._3
123- let T = ac._4
124- let O = j(Q, R)
125- let Y = t(O)
126- let ad = ((aa * B) / Y)
127- let V = ((ad * S) / B)
128- let W = ((ad * T) / B)
129-[Burn(fromBase58String(O), aa), ScriptTransfer(L.caller, V, fromBase58String(Q)), ScriptTransfer(L.caller, W, fromBase58String(R)), u(O, (Y - aa)), s(O, Q, R, (S - V), (T - W))]
109+ let Y = value(J.payments[0].amount)
110+ let Z = value(J.payments[0].assetId)
111+ let aa = p(toBase58String(Z))
112+ let O = aa._1
113+ let P = aa._2
114+ let Q = aa._3
115+ let R = aa._4
116+ let M = j(O, P)
117+ let W = t(M)
118+ let ab = ((Y * z) / W)
119+ let T = ((ab * Q) / z)
120+ let U = ((ab * R) / z)
121+[Burn(fromBase58String(M), Y), ScriptTransfer(J.caller, T, fromBase58String(O)), ScriptTransfer(J.caller, U, fromBase58String(P)), u(M, (W - Y)), s(M, O, P, (Q - T), (R - U))]
130122 }
131123
132124
133125
134-@Callable(L)
126+@Callable(J)
135127 func addLiquidityPool (f,g) = if (w(f, g))
136128 then if ((f != g))
137129 then if (if (x(f))
138130 then x(g)
139131 else false)
140132 then {
141- let ae = Issue(toBase58String(take(L.transactionId, 10)), "", 0, 0, true)
142- let l = toBase58String(calculateAssetId(ae))
143- let af = b()
144-[ae, StringEntry(toString(af), l), c((af + 1)), k(f, g, l), s(l, f, g, 0, 0)]
133+ let ac = Issue(toBase58String(take(J.transactionId, 10)), "", 0, 0, true)
134+ let l = toBase58String(calculateAssetId(ac))
135+ let ad = b()
136+[ac, StringEntry(toString(ad), l), c((ad + 1)), k(f, g, l), s(l, f, g, 0, 0)]
145137 }
146138 else throw("Wrong tokens")
147139 else throw("Equal tokens")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "_"
55
66 func b () = valueOrElse(getInteger(this, "pairLength"), 0)
77
88
99 func c (d) = IntegerEntry("pairLength", d)
1010
1111
1212 func e (f,g) = {
1313 let h = toInt(fromBase58String(f))
1414 let i = toInt(fromBase58String(g))
1515 if ((i > h))
1616 then makeString([f, g], a)
1717 else makeString([g, f], a)
1818 }
1919
2020
2121 func j (f,g) = getStringValue(this, e(f, g))
2222
2323
2424 func k (f,g,l) = StringEntry(e(f, g), l)
2525
2626
2727 func m (f,g,n,o) = makeString([f, g, toString(n), toString(o)], a)
2828
2929
3030 func p (q) = {
3131 let r = split(valueOrElse(getString(this, q), "assetId0_assetId1_0_0"), a)
3232 $Tuple4(r[0], r[1], parseIntValue(r[2]), parseIntValue(r[3]))
3333 }
3434
3535
3636 func s (q,f,g,n,o) = StringEntry(q, m(f, g, n, o))
3737
3838
3939 func t (q) = valueOrElse(getInteger(this, (("totalSupply" + a) + q)), 0)
4040
4141
4242 func u (q,v) = IntegerEntry((("totalSupply" + a) + q), v)
4343
4444
4545 func w (f,g) = !(isDefined(getString(e(f, g))))
4646
4747
48-func x (y) = {
49- let z = assetInfo(fromBase58String(y))
50- if ($isInstanceOf(z, "Asset"))
51- then {
52- let A = z
53- true
54- }
55- else throw("Bad situation")
48+func x (y) = true
49+
50+
51+let z = 100000000
52+
53+let A = value(addressFromString("3M4qwDomRabJKLZxuXhwfqLApQkU592nWxF"))
54+
55+let B = 100000
56+
57+func C (D,E,F) = {
58+ let G = (D * 997)
59+ let H = (G * F)
60+ let I = ((E * 1000) + G)
61+ (H / I)
5662 }
5763
5864
59-let B = 100000000
60-
61-let C = value(addressFromString("3M4qwDomRabJKLZxuXhwfqLApQkU592nWxF"))
62-
63-let D = 100000
64-
65-func E (F,G,H) = {
66- let I = (F * 997)
67- let J = (I * H)
68- let K = ((G * 1000) + I)
69- (J / K)
70- }
71-
72-
73-@Callable(L)
74-func swap (M) = {
75- let F = value(L.payments[0].amount)
76- let N = toBase58String(value(L.payments[0].assetId))
77- let O = j(N, M)
78- let P = p(O)
79- let Q = P._1
80- let R = P._2
81- let S = P._3
82- let T = P._4
83- let U = E(F, S, T)
84-[ScriptTransfer(L.caller, U, fromBase58String(R)), s(O, N, M, (S + F), (T - U))]
65+@Callable(J)
66+func swap (K) = {
67+ let D = value(J.payments[0].amount)
68+ let L = toBase58String(value(J.payments[0].assetId))
69+ let M = j(L, K)
70+ let N = p(M)
71+ let O = N._1
72+ let P = N._2
73+ let Q = N._3
74+ let R = N._4
75+ let S = C(D, Q, R)
76+[ScriptTransfer(J.caller, S, fromBase58String(P)), s(M, L, K, (Q + D), (R - S))]
8577 }
8678
8779
8880
89-@Callable(L)
81+@Callable(J)
9082 func mint () = {
91- let f = toBase58String(value(L.payments[0].assetId))
92- let g = toBase58String(value(L.payments[1].assetId))
93- let O = j(f, g)
94- let V = value(L.payments[0].amount)
95- let W = value(L.payments[1].amount)
96- let X = p(O)
97- let Q = X._1
98- let R = X._2
99- let S = X._3
100- let T = X._4
101- let Y = t(O)
102- if ((Y == 0))
83+ let f = toBase58String(value(J.payments[0].assetId))
84+ let g = toBase58String(value(J.payments[1].assetId))
85+ let M = j(f, g)
86+ let T = value(J.payments[0].amount)
87+ let U = value(J.payments[1].amount)
88+ let V = p(M)
89+ let O = V._1
90+ let P = V._2
91+ let Q = V._3
92+ let R = V._4
93+ let W = t(M)
94+ if ((W == 0))
10395 then {
104- let Z = (sqrt((V * W), 0, 0, DOWN) - D)
105-[Reissue(fromBase58String(O), (Z + D), true), ScriptTransfer(C, D, fromBase58String(O)), ScriptTransfer(L.caller, Z, fromBase58String(O)), u(O, (Z + D)), s(O, f, g, (S + V), (T + W))]
96+ let X = (sqrt((T * U), 0, 0, DOWN) - B)
97+[Reissue(fromBase58String(M), (X + B), true), ScriptTransfer(A, B, fromBase58String(M)), ScriptTransfer(J.caller, X, fromBase58String(M)), u(M, (X + B)), s(M, f, g, (Q + T), (R + U))]
10698 }
10799 else {
108- let Z = min([((V * Y) / S), ((W * Y) / T)])
109-[Reissue(fromBase58String(O), Z, true), ScriptTransfer(L.caller, Z, fromBase58String(O)), u(O, (Y + Z)), s(O, f, g, (S + V), (T + W))]
100+ let X = min([((T * W) / Q), ((U * W) / R)])
101+[Reissue(fromBase58String(M), X, true), ScriptTransfer(J.caller, X, fromBase58String(M)), u(M, (W + X)), s(M, f, g, (Q + T), (R + U))]
110102 }
111103 }
112104
113105
114106
115-@Callable(L)
107+@Callable(J)
116108 func burn () = {
117- let aa = value(L.payments[0].amount)
118- let ab = value(L.payments[0].assetId)
119- let ac = p(toBase58String(ab))
120- let Q = ac._1
121- let R = ac._2
122- let S = ac._3
123- let T = ac._4
124- let O = j(Q, R)
125- let Y = t(O)
126- let ad = ((aa * B) / Y)
127- let V = ((ad * S) / B)
128- let W = ((ad * T) / B)
129-[Burn(fromBase58String(O), aa), ScriptTransfer(L.caller, V, fromBase58String(Q)), ScriptTransfer(L.caller, W, fromBase58String(R)), u(O, (Y - aa)), s(O, Q, R, (S - V), (T - W))]
109+ let Y = value(J.payments[0].amount)
110+ let Z = value(J.payments[0].assetId)
111+ let aa = p(toBase58String(Z))
112+ let O = aa._1
113+ let P = aa._2
114+ let Q = aa._3
115+ let R = aa._4
116+ let M = j(O, P)
117+ let W = t(M)
118+ let ab = ((Y * z) / W)
119+ let T = ((ab * Q) / z)
120+ let U = ((ab * R) / z)
121+[Burn(fromBase58String(M), Y), ScriptTransfer(J.caller, T, fromBase58String(O)), ScriptTransfer(J.caller, U, fromBase58String(P)), u(M, (W - Y)), s(M, O, P, (Q - T), (R - U))]
130122 }
131123
132124
133125
134-@Callable(L)
126+@Callable(J)
135127 func addLiquidityPool (f,g) = if (w(f, g))
136128 then if ((f != g))
137129 then if (if (x(f))
138130 then x(g)
139131 else false)
140132 then {
141- let ae = Issue(toBase58String(take(L.transactionId, 10)), "", 0, 0, true)
142- let l = toBase58String(calculateAssetId(ae))
143- let af = b()
144-[ae, StringEntry(toString(af), l), c((af + 1)), k(f, g, l), s(l, f, g, 0, 0)]
133+ let ac = Issue(toBase58String(take(J.transactionId, 10)), "", 0, 0, true)
134+ let l = toBase58String(calculateAssetId(ac))
135+ let ad = b()
136+[ac, StringEntry(toString(ad), l), c((ad + 1)), k(f, g, l), s(l, f, g, 0, 0)]
145137 }
146138 else throw("Wrong tokens")
147139 else throw("Equal tokens")
148140 else throw("Pair already exists")
149141
150142

github/deemru/w8io/c3f4982 
46.02 ms