tx · 4aKV6o4L6QDaGG6KVJfdTfw1s87MAU7owZjpuj3P4JT2

3PBeerh759eA1eGFuw77RowaZfZNohzJzvz:  -0.01000000 Waves

2022.12.06 15:49 [3413976] smart account 3PBeerh759eA1eGFuw77RowaZfZNohzJzvz > SELF 0.00000000 Waves

{ "type": 13, "id": "4aKV6o4L6QDaGG6KVJfdTfw1s87MAU7owZjpuj3P4JT2", "fee": 1000000, "feeAssetId": null, "timestamp": 1670330940283, "version": 2, "chainId": 87, "sender": "3PBeerh759eA1eGFuw77RowaZfZNohzJzvz", "senderPublicKey": "Fw5NUe1f5xvDWNgCRm1CuYRnJGm2JqeSjqEBioaPvwaR", "proofs": [ "2EeG2p7h9z24yBhxuYYmmKjmh81mYGVaQSim9vtbWYp1Dj7Cb8nemvg3dyGd4CCQStj2ywzzZ781zEFxHKpz3TrA" ], "script": "base64:AAIFAAAAAAAAACEIAhIFCgMICAgSCQoHCAgICAgIARILCgkICAgICAgICAEAAAAHAAAAAApydWxlcl90ZXN0AgAAACxCZ3hwQ200d3hiVzhTS0xQS1puZjRLVTJENlpVMjlvdjhNZ1pya2FTQXFwWQAAAAAFcnVsZXICAAAALDd6TlVKQlZvUE1CQ1JzdFAzUjFBdnhoeHJONTFTUWtuNUJNaTJpSjljaUFkAAAAAAZydWxlcjICAAAALDlmZTY3ZXd6eHRhTG96ZVBaMlUzU0c3MVpRRnlHTEFYV21tbUhSRXBGZU1DAAAAAAZydWxlcjMCAAAALEZlTVg2aFFhUktzTHNraTc3eFZISERHUmtqOVZ1SnptUDJNQUNiQVdEakRLAQAAAA5nZXRBc3NldFN0cmluZwAAAAEAAAAHYXNzZXRJZAQAAAAHJG1hdGNoMAUAAAAHYXNzZXRJZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAABYgUAAAAHJG1hdGNoMAkAAlgAAAABBQAAAAFiAgAAAAVXQVZFUwEAAAANZ2V0QXNzZXRCeXRlcwAAAAEAAAAHYXNzZXRJZAMJAAAAAAAAAgUAAAAHYXNzZXRJZAIAAAAFV0FWRVMFAAAABHVuaXQJAAJZAAAAAQUAAAAHYXNzZXRJZAEAAAAJbXlCYWxhbmNlAAAAAQAAAAdhc3NldElkBAAAAAckbWF0Y2gwBQAAAAdhc3NldElkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAFiBQAAAAckbWF0Y2gwCQAD8AAAAAIFAAAABHRoaXMFAAAAAWIICQAD7wAAAAEFAAAABHRoaXMAAAAJYXZhaWxhYmxlAAAAAwAAAAFpAQAAAARmYWtlAAAAAwAAAAVhX291dAAAAAJwbwAAAAVwb190eQQAAAAJY2FsbGVyUGJrCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQMDAwkBAAAAAiE9AAAAAgUAAAAJY2FsbGVyUGJrBQAAAAVydWxlcgkBAAAAAiE9AAAAAgUAAAAJY2FsbGVyUGJrBQAAAAZydWxlcjIHCQEAAAACIT0AAAACBQAAAAljYWxsZXJQYmsFAAAABnJ1bGVyMwcJAAACAAAAAQIA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", "height": 3413976, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: A1dozmMGsmeEuo7djqo54ZXWGfm7xzxB6uenrB2G86tQ Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let ruler_test = "BgxpCm4wxbW8SKLPKZnf4KU2D6ZU29ov8MgZrkaSAqpY"
5+
6+let ruler = "7zNUJBVoPMBCRstP3R1AvxhxrN51SQkn5BMi2iJ9ciAd"
7+
8+let ruler2 = "9fe67ewzxtaLozePZ2U3SG71ZQFyGLAXWmmmHREpFeMC"
9+
10+let ruler3 = "FeMX6hQaRKsLski77xVHHDGRkj9VuJzmP2MACbAWDjDK"
11+
12+func getAssetString (assetId) = match assetId {
13+ case b: ByteVector =>
14+ toBase58String(b)
15+ case _ =>
16+ "WAVES"
17+}
18+
19+
20+func getAssetBytes (assetId) = if ((assetId == "WAVES"))
21+ then unit
22+ else fromBase58String(assetId)
23+
24+
25+func myBalance (assetId) = match assetId {
26+ case b: ByteVector =>
27+ assetBalance(this, b)
28+ case _ =>
29+ wavesBalance(this).available
30+}
31+
32+
33+@Callable(i)
34+func fake (a_out,po,po_ty) = {
35+ let callerPbk = toBase58String(i.callerPublicKey)
36+ if (if (if ((callerPbk != ruler))
37+ then (callerPbk != ruler2)
38+ else false)
39+ then (callerPbk != ruler3)
40+ else false)
41+ then throw("No-no-no")
42+ else {
43+ let pmt = i.payments[0]
44+ let assetIn = value(pmt.assetId)
45+ let amountIn = value(pmt.amount)
46+ let amount_bef_asset_out = myBalance(getAssetBytes(a_out))
47+ if ((amount_bef_asset_out == amount_bef_asset_out))
48+ then {
49+ let entry1 = if ((po_ty == "p"))
50+ then invoke(Address(fromBase58String(po)), "swap", [getAssetString(assetIn), 1], [AttachedPayment(assetIn, amountIn)])
51+ else invoke(Address(fromBase58String(po)), "exchange", [1], [AttachedPayment(assetIn, amountIn)])
52+ if ((entry1 == entry1))
53+ then {
54+ let amount_after_asset_out = myBalance(getAssetBytes(a_out))
55+ if ((amount_after_asset_out == amount_after_asset_out))
56+ then {
57+ let resu = (amount_after_asset_out - amount_bef_asset_out)
58+ throw(toString(resu))
59+ }
60+ else throw("Strict value is not equal to itself.")
61+ }
62+ else throw("Strict value is not equal to itself.")
63+ }
64+ else throw("Strict value is not equal to itself.")
65+ }
66+ }
67+
68+
69+
70+@Callable(i)
71+func trade (a,ao,p1,p1t,p2,p2t,min) = {
72+ let callerPbk = toBase58String(i.callerPublicKey)
73+ if (if (if ((callerPbk != ruler))
74+ then (callerPbk != ruler2)
75+ else false)
76+ then (callerPbk != ruler3)
77+ else false)
78+ then throw("No-no-no")
79+ else {
80+ let pmt = i.payments[0]
81+ let assetIn = value(pmt.assetId)
82+ let amountIn = value(pmt.amount)
83+ let amount_bef_asset1 = myBalance(getAssetBytes(a))
84+ if ((amount_bef_asset1 == amount_bef_asset1))
85+ then {
86+ let entry1 = if ((p1t == "p"))
87+ then invoke(Address(fromBase58String(p1)), "swap", [a, 1], [AttachedPayment(assetIn, amountIn)])
88+ else invoke(Address(fromBase58String(p1)), "exchange", [1], [AttachedPayment(assetIn, amountIn)])
89+ if ((entry1 == entry1))
90+ then {
91+ let nb = (myBalance(getAssetBytes(a)) - amount_bef_asset1)
92+ if ((nb == nb))
93+ then {
94+ let amount_bef_base_asset = myBalance(getAssetBytes(ao))
95+ if ((amount_bef_base_asset == amount_bef_base_asset))
96+ then {
97+ let entry2 = if ((p2t == "p"))
98+ then invoke(Address(fromBase58String(p2)), "swap", [ao, 1], [AttachedPayment(getAssetBytes(a), nb)])
99+ else invoke(Address(fromBase58String(p2)), "exchange", [1], [AttachedPayment(getAssetBytes(a), nb)])
100+ if ((entry2 == entry2))
101+ then {
102+ let nb2 = (myBalance(getAssetBytes(ao)) - amount_bef_base_asset)
103+ if ((nb2 == nb2))
104+ then if ((nb2 > min))
105+ then [ScriptTransfer(i.caller, nb2, getAssetBytes(ao))]
106+ else throw(((((((("Ooops, in: " + toString(amountIn)) + "1: ") + toString(nb)) + ", out: ") + toString(nb2)) + ", min: ") + toString(min)))
107+ else throw("Strict value is not equal to itself.")
108+ }
109+ else throw("Strict value is not equal to itself.")
110+ }
111+ else throw("Strict value is not equal to itself.")
112+ }
113+ else throw("Strict value is not equal to itself.")
114+ }
115+ else throw("Strict value is not equal to itself.")
116+ }
117+ else throw("Strict value is not equal to itself.")
118+ }
119+ }
120+
121+
122+
123+@Callable(i)
124+func triptrade (a,a2,p1,p1t,p2,p2t,p3,p3t,min) = {
125+ let callerPbk = toBase58String(i.callerPublicKey)
126+ if (if (if ((callerPbk != ruler))
127+ then (callerPbk != ruler2)
128+ else false)
129+ then (callerPbk != ruler3)
130+ else false)
131+ then throw("No-no-no")
132+ else {
133+ let pmt = i.payments[0]
134+ let assetIn = value(pmt.assetId)
135+ let amountIn = value(pmt.amount)
136+ let amount_bef_asset1 = myBalance(getAssetBytes(a))
137+ if ((amount_bef_asset1 == amount_bef_asset1))
138+ then {
139+ let entry1 = if ((p1t == "p"))
140+ then invoke(Address(fromBase58String(p1)), "swap", [a, 1], [AttachedPayment(assetIn, amountIn)])
141+ else invoke(Address(fromBase58String(p1)), "exchange", [1], [AttachedPayment(assetIn, amountIn)])
142+ if ((entry1 == entry1))
143+ then {
144+ let nb = (myBalance(getAssetBytes(a)) - amount_bef_asset1)
145+ if ((nb == nb))
146+ then {
147+ let amount_bef_asset2 = myBalance(getAssetBytes(a2))
148+ if ((amount_bef_asset2 == amount_bef_asset2))
149+ then {
150+ let entry2 = if ((p2t == "p"))
151+ then invoke(Address(fromBase58String(p2)), "swap", [a2, 1], [AttachedPayment(getAssetBytes(a), nb)])
152+ else invoke(Address(fromBase58String(p2)), "exchange", [1], [AttachedPayment(getAssetBytes(a), nb)])
153+ if ((entry2 == entry2))
154+ then {
155+ let amount_bef_base_asset = myBalance(assetIn)
156+ if ((amount_bef_base_asset == amount_bef_base_asset))
157+ then {
158+ let nb2 = (myBalance(getAssetBytes(a2)) - amount_bef_asset2)
159+ if ((nb2 == nb2))
160+ then {
161+ let entry3 = if ((p3t == "p"))
162+ then invoke(Address(fromBase58String(p3)), "swap", [getAssetString(assetIn), 1], [AttachedPayment(getAssetBytes(a2), nb2)])
163+ else invoke(Address(fromBase58String(p3)), "exchange", [1], [AttachedPayment(getAssetBytes(a2), nb2)])
164+ if ((entry3 == entry3))
165+ then {
166+ let nb3 = (myBalance(assetIn) - amount_bef_base_asset)
167+ if ((nb3 == nb3))
168+ then if ((nb3 > min))
169+ then [ScriptTransfer(i.caller, nb3, assetIn)]
170+ else throw(((((((((("Ooops, in: " + toString(amountIn)) + ", 1: ") + toString(nb)) + ", 2: ") + toString(nb2)) + ", out: ") + toString(nb3)) + ", min: ") + toString(min)))
171+ else throw("Strict value is not equal to itself.")
172+ }
173+ else throw("Strict value is not equal to itself.")
174+ }
175+ else throw("Strict value is not equal to itself.")
176+ }
177+ else throw("Strict value is not equal to itself.")
178+ }
179+ else throw("Strict value is not equal to itself.")
180+ }
181+ else throw("Strict value is not equal to itself.")
182+ }
183+ else throw("Strict value is not equal to itself.")
184+ }
185+ else throw("Strict value is not equal to itself.")
186+ }
187+ else throw("Strict value is not equal to itself.")
188+ }
189+ }
190+
191+
192+@Verifier(tx)
193+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
194+

github/deemru/w8io/3ef1775 
31.01 ms