tx · qV5mKatDWfFd3kPk1qSq33KyKunz1UHgrMbeb2XFyug

3PCFUPSEAjEwByeTS5TJpLRGx2MRA1TxHkJ:  -0.01000000 Waves

2023.04.28 11:41 [3619776] smart account 3PCFUPSEAjEwByeTS5TJpLRGx2MRA1TxHkJ > SELF 0.00000000 Waves

{ "type": 13, "id": "qV5mKatDWfFd3kPk1qSq33KyKunz1UHgrMbeb2XFyug", "fee": 1000000, "feeAssetId": null, "timestamp": 1682671291317, "version": 2, "chainId": 87, "sender": "3PCFUPSEAjEwByeTS5TJpLRGx2MRA1TxHkJ", "senderPublicKey": "7TxWazq7o9NTSVGh2Esh8pcGfaugAMjSWvzLL38TMcZ6", "proofs": [ "5kD4nJMHCeEHYtu7NeennhcxnyDt1ris8pac3Tp5TVvNVASZa4tXKGeQevzh1VtfQAqMjunusSn7ntpsbzQTvqSP" ], "script": "base64:BgKjBAgCEgMKAQESAwoBARIDCgEIIg5mcmVlX3RvX2JvcnJvbSINVVNETl9BU1NFVF9JRCIEYm9zcyIOYWRtaW5QdWJsaWNLZXkiDFdYX1NXQVBfREFQUCIJYXNzZXRzX2luIgpnZXRCYWxhbmNlIgdhc3NldElkIgckbWF0Y2gwIgFiIghnZXRCYXNlMSIEZGF0YSIGcF9kYXRhIgFhIgJhMiIHYXNzZXRJbiIIYW1vdW50SW4iCGdldEJhc2UyIgJwMSIBdCINZ2V0QXNzZXRCeXRlcyIHc3dhcF93eCIBcCIFYXNzZXQiACIGYW1vdW50IgRjYWxsIglzd2FwX3N3b3AiBHN3YXAiC3N3YXBfcHV6emxlIghhc3NldE91dCIBaSIEYW1udCIKY3VycmVudEJhbCIKZGF0YV9hcnJheSILJHQwMjc1MTI4MDciCyR0MDI4MTIyODUwIgJ0MSILJHQwMjg1NTI4OTMiAnAyIgJ0MiILJHQwMjg5ODI5MzYiAnAzIgJ0MyIDaWR1IhJhbW91bnRfYmVmX2Fzc2V0SW4iDG5ld19hbW91bnRJbiIRYW1vdW50X2JlZl9hc3NldDEiBXN3YXAxIgJuYiIRYW1vdW50X2JlZl9hc3NldDIiBXN3YXAyIgNuYjIiFWFtb3VudF9iZWZfYmFzZV9hc3NldCIFc3dhcDMiA25iMyIIdHJlc2hvbGQiAnR4IgZ2ZXJpZnkNAAFhCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUEc3Q0h2QmF0SHBDaHdtOHJlSDc0d2ZFd2sxUEhjOFJxeQABYgEgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtEAAWMJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQUkU1S0g5b1BHZkZQczdmR25RY0o0d05zaEVEVVBHajF0AAFkASCv/x58doefXfwer5+x7Fznjj3iPlshsuAGcU0W/5sVbQABZQkBB0FkZHJlc3MBARoBVy4qNTWxDbfxeT7ht0bQnnRSTXsx0IOuBgABZgkAzAgCAixERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cAUDbmlsAQFnAQFoBAFpBQFoAwkAAQIFAWkCCkJ5dGVWZWN0b3IEAWoFAWkJAPAHAgUEdGhpcwUBaggJAO8HAQUEdGhpcwlhdmFpbGFibGUBAWsBAWwEAW0JALwJAgUBbAIBXwQBbgkAkQMCBQFtAAAEAW8JAJEDAgUBbQABBAFwCQCRAwIFAWYJAQV2YWx1ZQEJALYJAQkAkQMCBQFtAAIEAXEJAJEDAgUBbQADCQCWCgQFAW4FAW8FAXAFAXEBAXIBAWwEAW0JALUJAgUBbAIBXwQBcwkAkQMCBQFtAAAEAXQJAJEDAgUBbQABCQCUCgIFAXMFAXQBAXUBAWgDCQAAAgUBaAIFV0FWRVMFBHVuaXQJANkEAQUBaAEBdgQBdwF4AXoBbgQBQQkA/AcEBQFlAgRzd2FwCQDMCAIAAQkAzAgCBQFuCQDMCAIJAKUIAQUEdGhpcwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQEBdQEFAXgFAXoFA25pbAMJAAACBQFBBQFBBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAUIDAXcBeAF6BAFDCQD8BwQJAQdBZGRyZXNzAQkA2QQBBQF3AghleGNoYW5nZQkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkBAXUBBQF4BQF6BQNuaWwDCQAAAgUBQwUBQwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQFEBAF3AXgBegFFBAFDCQD8BwQJAQdBZGRyZXNzAQkA2QQBBQF3AgRzd2FwCQDMCAIFAUUJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQF1AQUBeAUBegUDbmlsAwkAAAIFAUMFAUMFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMBRgEGYm9ycm93AQFHAwkBASEBCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQFhCQDMCAIFAWMJAMwIAgUEdGhpcwUDbmlsCAUBRgZjYWxsZXIJAAIBAh55b3UgYXJlIG5vdCBhbGxvd2VkIHRvIGJvcnJvdyEEAUgJAQFnAQUBYgMJAGYCBQFHBQFICQACAQIcWW91IGNhbm5ub3QgYm9ycm93IHRoYXQgbXVjaAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBRgZjYWxsZXIFAUcFAWIFA25pbAFGAQtzZXRUcmVzaG9sZAEBRwMJAQEhAQkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgUBYQkAzAgCBQFjCQDMCAIFBHRoaXMFA25pbAgFAUYGY2FsbGVyCQACAQIfeW91IGFyZSBub3QgYWxsb3dlZCB0byBkbyB0aGF0IQkAzAgCCQEMSW50ZWdlckVudHJ5AgIIdHJlc2hvbGQFAUcFA25pbAFGAQF5AQFsAwMJAQIhPQIIBQFGBmNhbGxlcgUEdGhpcwkBAiE9AggFAUYGY2FsbGVyBQFjBwkAAgECG3lvdSBhcmUgbm90IGFsbG93ZWQgdG8gYXJiIQQBSQkAvAkCBQFsAgF8BAFKCQEBawEJAJEDAgUBSQAABAFuCAUBSgJfMQQBbwgFAUoCXzIEAXAIBQFKAl8zBAFxCAUBSgJfNAQBSwkBAXIBCQCRAwIFAUkAAQQBcwgFAUsCXzEEAUwIBQFLAl8yBAFNCQEBcgEJAJEDAgUBSQACBAFOCAUBTQJfMQQBTwgFAU0CXzIEAVAJAQFyAQkAkQMCBQFJAAMEAVEIBQFQAl8xBAFSCAUBUAJfMgQBUwMJAGYCCQCxAgEJAJEDAgUBSQAEAAEJALwJAgkAkQMCBQFJAAQCAS0FA25pbAMDCQBmAgkAkAMBBQFTAAAGCQBnAgABCQCxAgEJAJEDAgUBSQAEBAFUCQEBZwEJAQF1AQUBcAMJAAACBQFUBQFUBAFVAwkAZgIJAQV2YWx1ZQEJALYJAQUBcQUBVAUBVAkBBXZhbHVlAQkAtgkBBQFxAwkAAAIFAVUFAVUEAVYJAQFnAQkBAXUBBQFuAwkAAAIFAVYFAVYEAVcDCQAAAgUBTAIBVwkBAXYEBQFzBQFwBQFVBQFuAwkAAAIFAUwCAVMJAQFCAwUBcwUBcAUBVQkBAUQEBQFzBQFwBQFVBQFuAwkAAAIFAVcFAVcEAVgJAGUCCQEBZwEJAQF1AQUBbgUBVgMJAAACBQFYBQFYBAFZCQEBZwEJAQF1AQUBbwMJAAACBQFZBQFZBAFaAwkAAAIFAU8CAVcJAQF2BAUBTgUBbgUBWAUBbwMJAAACBQFPAgFTCQEBQgMFAU4FAW4FAVgJAQFEBAUBTgUBbgUBWAUBbwMJAAACBQFaBQFaBAJhYQkAZQIJAQFnAQkBAXUBBQFvBQFZAwkAAAIFAmFhBQJhYQQCYWIJAQFnAQkBAXUBBQFwAwkAAAIFAmFiBQJhYgQCYWMDCQAAAgUBUgIBVwkBAXYEBQFRBQFvBQJhYQUBcAMJAAACBQFSAgFTCQEBQgMFAVEFAW8FAmFhCQEBRAQFAVEFAW8FAmFhBQFwAwkAAAIFAmFjBQJhYwQCYWQJAGUCCQEBZwEJAQF1AQUBcAUCYWIDCQAAAgUCYWQFAmFkBAJhZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzAgh0cmVzaG9sZADwkwkDCQBmAgUCYWQJAGQCBQFVBQJhZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBRgZjYWxsZXIJAGUCBQJhZAUBVQkBAXUBBQFwBQNuaWwJAAIBCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhJvcmlnaW4gYW1vdW50SW4gPSAFAXECESwgbmV3X2Ftb3VudEluID0gCQCkAwEFAVUCDCwgbmV3QmFsXzE6IAkApAMBBQFYAgwsIG5ld0JhbF8yOiAJAKQDAQUCYWECDCwgbmV3QmFsXzM6IAkApAMBBQJhZAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgUDbmlsAQJhZgECYWcAAwkAyBMDCAUCYWYJYm9keUJ5dGVzCQCRAwIIBQJhZgZwcm9vZnMAAAgFAmFmD3NlbmRlclB1YmxpY0tleQYJAMgTAwgFAmFmCWJvZHlCeXRlcwkAkQMCCAUCYWYGcHJvb2ZzAAAFAWRrK8Mi", "height": 3619776, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DBQtBBfwNY6DsY3mt8xiJDjL8pjDKc8yjgkVigfhTk5 Next: J1dG3bFFYxvwQzV7xEAgZXg9EtHZrV4kdUz3QEjycMP3 Diff:
OldNewDifferences
192192 }
193193 else throw("Strict value is not equal to itself.")
194194 }
195- else [StringEntry("last", toBase58String(F.transactionId))]
195+ else nil
196196 }
197197
198198
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = addressFromStringValue("3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy")
55
66 let b = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
77
88 let c = addressFromStringValue("3PRE5KH9oPGfFPs7fGnQcJ4wNshEDUPGj1t")
99
1010 let d = base58'Cr1ybL2JGg9GwJHA2JwqxBPfSW6Q7Jg4HvNrsEiCsHu6'
1111
1212 let e = Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93')
1313
1414 let f = ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"]
1515
1616 func g (h) = {
1717 let i = h
1818 if ($isInstanceOf(i, "ByteVector"))
1919 then {
2020 let j = i
2121 assetBalance(this, j)
2222 }
2323 else wavesBalance(this).available
2424 }
2525
2626
2727 func k (l) = {
2828 let m = split_4C(l, "_")
2929 let n = m[0]
3030 let o = m[1]
3131 let p = f[value(parseInt(m[2]))]
3232 let q = m[3]
3333 $Tuple4(n, o, p, q)
3434 }
3535
3636
3737 func r (l) = {
3838 let m = split(l, "_")
3939 let s = m[0]
4040 let t = m[1]
4141 $Tuple2(s, t)
4242 }
4343
4444
4545 func u (h) = if ((h == "WAVES"))
4646 then unit
4747 else fromBase58String(h)
4848
4949
5050 func v (w,x,z,n) = {
5151 let A = invoke(e, "swap", [1, n, toString(this)], [AttachedPayment(u(x), z)])
5252 if ((A == A))
5353 then nil
5454 else throw("Strict value is not equal to itself.")
5555 }
5656
5757
5858 func B (w,x,z) = {
5959 let C = invoke(Address(fromBase58String(w)), "exchange", [1], [AttachedPayment(u(x), z)])
6060 if ((C == C))
6161 then nil
6262 else throw("Strict value is not equal to itself.")
6363 }
6464
6565
6666 func D (w,x,z,E) = {
6767 let C = invoke(Address(fromBase58String(w)), "swap", [E, 1], [AttachedPayment(u(x), z)])
6868 if ((C == C))
6969 then nil
7070 else throw("Strict value is not equal to itself.")
7171 }
7272
7373
7474 @Callable(F)
7575 func borrow (G) = if (!(containsElement([a, c, this], F.caller)))
7676 then throw("you are not allowed to borrow!")
7777 else {
7878 let H = g(b)
7979 if ((G > H))
8080 then throw("You cannnot borrow that much")
8181 else [ScriptTransfer(F.caller, G, b)]
8282 }
8383
8484
8585
8686 @Callable(F)
8787 func setTreshold (G) = if (!(containsElement([a, c, this], F.caller)))
8888 then throw("you are not allowed to do that!")
8989 else [IntegerEntry("treshold", G)]
9090
9191
9292
9393 @Callable(F)
9494 func y (l) = if (if ((F.caller != this))
9595 then (F.caller != c)
9696 else false)
9797 then throw("you are not allowed to arb!")
9898 else {
9999 let I = split_4C(l, "|")
100100 let J = k(I[0])
101101 let n = J._1
102102 let o = J._2
103103 let p = J._3
104104 let q = J._4
105105 let K = r(I[1])
106106 let s = K._1
107107 let L = K._2
108108 let M = r(I[2])
109109 let N = M._1
110110 let O = M._2
111111 let P = r(I[3])
112112 let Q = P._1
113113 let R = P._2
114114 let S = if ((size(I[4]) > 1))
115115 then split_4C(I[4], "-")
116116 else nil
117117 if (if ((size(S) > 0))
118118 then true
119119 else (1 >= size(I[4])))
120120 then {
121121 let T = g(u(p))
122122 if ((T == T))
123123 then {
124124 let U = if ((value(parseInt(q)) > T))
125125 then T
126126 else value(parseInt(q))
127127 if ((U == U))
128128 then {
129129 let V = g(u(n))
130130 if ((V == V))
131131 then {
132132 let W = if ((L == "W"))
133133 then v(s, p, U, n)
134134 else if ((L == "S"))
135135 then B(s, p, U)
136136 else D(s, p, U, n)
137137 if ((W == W))
138138 then {
139139 let X = (g(u(n)) - V)
140140 if ((X == X))
141141 then {
142142 let Y = g(u(o))
143143 if ((Y == Y))
144144 then {
145145 let Z = if ((O == "W"))
146146 then v(N, n, X, o)
147147 else if ((O == "S"))
148148 then B(N, n, X)
149149 else D(N, n, X, o)
150150 if ((Z == Z))
151151 then {
152152 let aa = (g(u(o)) - Y)
153153 if ((aa == aa))
154154 then {
155155 let ab = g(u(p))
156156 if ((ab == ab))
157157 then {
158158 let ac = if ((R == "W"))
159159 then v(Q, o, aa, p)
160160 else if ((R == "S"))
161161 then B(Q, o, aa)
162162 else D(Q, o, aa, p)
163163 if ((ac == ac))
164164 then {
165165 let ad = (g(u(p)) - ab)
166166 if ((ad == ad))
167167 then {
168168 let ae = valueOrElse(getInteger(this, "treshold"), 150000)
169169 if ((ad > (U + ae)))
170170 then [ScriptTransfer(F.caller, (ad - U), u(p))]
171171 else throw(((((((((("origin amountIn = " + q) + ", new_amountIn = ") + toString(U)) + ", newBal_1: ") + toString(X)) + ", newBal_2: ") + toString(aa)) + ", newBal_3: ") + toString(ad)))
172172 }
173173 else throw("Strict value is not equal to itself.")
174174 }
175175 else throw("Strict value is not equal to itself.")
176176 }
177177 else throw("Strict value is not equal to itself.")
178178 }
179179 else throw("Strict value is not equal to itself.")
180180 }
181181 else throw("Strict value is not equal to itself.")
182182 }
183183 else throw("Strict value is not equal to itself.")
184184 }
185185 else throw("Strict value is not equal to itself.")
186186 }
187187 else throw("Strict value is not equal to itself.")
188188 }
189189 else throw("Strict value is not equal to itself.")
190190 }
191191 else throw("Strict value is not equal to itself.")
192192 }
193193 else throw("Strict value is not equal to itself.")
194194 }
195- else [StringEntry("last", toBase58String(F.transactionId))]
195+ else nil
196196 }
197197
198198
199199 @Verifier(af)
200200 func ag () = if (sigVerify_128Kb(af.bodyBytes, af.proofs[0], af.senderPublicKey))
201201 then true
202202 else sigVerify_128Kb(af.bodyBytes, af.proofs[0], d)
203203

github/deemru/w8io/3ef1775 
36.18 ms