tx · 7NJyi4p1ccz8rvKqxjCmf1LjKaznZ1Rm5PwBCxgb3oCS 3PNjTd61hrMczLCGbsEZC2Kyb44RMXm65ez: -0.00400000 Waves 2023.05.21 17:32 [3653340] smart account 3PNjTd61hrMczLCGbsEZC2Kyb44RMXm65ez > SELF 0.00000000 Waves
{ "type": 13, "id": "7NJyi4p1ccz8rvKqxjCmf1LjKaznZ1Rm5PwBCxgb3oCS", "fee": 400000, "feeAssetId": null, "timestamp": 1684679610577, "version": 2, "chainId": 87, "sender": "3PNjTd61hrMczLCGbsEZC2Kyb44RMXm65ez", "senderPublicKey": "D5eTVuTxKqH6iQ3XN8BQYJMKoXCFT7C3jvkvboyq7b5k", "proofs": [ "2Cs4RZqJ8NC86CQiUBQRAsX78WG6J4NQoK1GrLuzFNY1BpwFWofQVHxSvNp8sSWLse3NkYH4EdZ4n9r8RiLAADSU" ], "script": "base64:BgIgCAISCQoHCAEICAgIBBIJCgcIAQgICAgEEgYKBAgBCAgOAApydWxlcl90ZXN0AixCZ3hwQ200d3hiVzhTS0xQS1puZjRLVTJENlpVMjlvdjhNZ1pya2FTQXFwWQAFcnVsZXICLDd6TlVKQlZvUE1CQ1JzdFAzUjFBdnhoeHJONTFTUWtuNUJNaTJpSjljaUFkAAZydWxlcjICLDlmZTY3ZXd6eHRhTG96ZVBaMlUzU0c3MVpRRnlHTEFYV21tbUhSRXBGZU1DAAZydWxlcjMCLEZlTVg2aFFhUktzTHNraTc3eFZISERHUmtqOVZ1SnptUDJNQUNiQVdEakRLAAZydWxlcjQCLDNQU0s3YjZiTWYxZ0JEdmpIUmJHUTl6R2M2OFVpcmVxQmoyZXViVmkxcTVyAAZydWxlcjUCLDY2ckN2OWRmZG91cVEzU1JHOVhyS25SaUZtTWJ3a1pRZ21oUzFmdG5DdHFtAAZydWxlcjYCLEZlTVg2aFFhUktzTHNraTc3eFZISERHUmtqOVZ1SnptUDJNQUNiQVdEakRLAAphYnJhY2FkYnJhASCEw4RMq+J8AgneosFzaAks62toFxJJXbpWEJovtolzAQEDdmlwAQNra2sDAwMDAwMJAAACBQNra2sFBXJ1bGVyBgkAAAIFA2trawUGcnVsZXIyBgkAAAIFA2trawUGcnVsZXIzBgkAAAIFA2trawUGcnVsZXI0BgkAAAIFA2trawUGcnVsZXI1BgkAAAIFA2trawUGcnVsZXI2BgcBCmdldEFzc2V0SWQBA3BtdAQHJG1hdGNoMAUDcG10AwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAXAFByRtYXRjaDAFA3BtdAUEdW5pdAEOZ2V0QXNzZXRTdHJpbmcBB2Fzc2V0SWQEByRtYXRjaDAFB2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYgUHJG1hdGNoMAkA2AQBBQFiAgVXQVZFUwENZ2V0QWNjQmFsYW5jZQEHYXNzZXRJZAMJAAACBQdhc3NldElkAgVXQVZFUwgJAO8HAQUEdGhpcwlhdmFpbGFibGUJAPAHAgUEdGhpcwkA2QQBBQdhc3NldElkAQ1nZXRBc3NldEJ5dGVzAQdhc3NldElkAwkAAAIFB2Fzc2V0SWQCBVdBVkVTBQR1bml0CQDZBAEFB2Fzc2V0SWQBCW15QmFsYW5jZQEHYXNzZXRJZAQHJG1hdGNoMAUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQDwBwIFBHRoaXMFAWIICQDvBwEFBHRoaXMJYXZhaWxhYmxlAwFpAQRmYWtlBwRhX2luBmFtb3VudAVhX291dAJwbwVwb190eQ53eF9scF9hc3NldF9pZAlpc19zdGFibGUEB2Fzc2V0SW4JAQ1nZXRBc3NldEJ5dGVzAQUEYV9pbgQIYW1vdW50SW4FBmFtb3VudAQFcHV0T3ADBQlpc19zdGFibGUCC3B1dE9uZVRrblYyAglwdXRPbmVUa24EBWdldE9wAwUJaXNfc3RhYmxlAgtnZXRPbmVUa25WMgIJZ2V0T25lVGtuBBRhbW91bnRfYmVmX2Fzc2V0X291dAkBCW15QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQUFYV9vdXQDCQAAAgUUYW1vdW50X2JlZl9hc3NldF9vdXQFFGFtb3VudF9iZWZfYXNzZXRfb3V0BAZlbnRyeTEDCQAAAgUFcG9fdHkCAXAJAPwHBAkBB0FkZHJlc3MBCQDZBAEFAnBvAgRzd2FwCQDMCAIFBWFfb3V0CQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQdhc3NldEluBQhhbW91bnRJbgUDbmlsAwkAAAIFBXBvX3R5AgFzCQD8BwQJAQdBZGRyZXNzAQkA2QQBBQJwbwIIZXhjaGFuZ2UJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB2Fzc2V0SW4FCGFtb3VudEluBQNuaWwEA3B1dAkA/AcECQEHQWRkcmVzcwEJANkEAQUCcG8FBXB1dE9wCQDMCAIAAQkAzAgCBwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQdhc3NldEluBQhhbW91bnRJbgUDbmlsAwkAAAIFA3B1dAUDcHV0BAt3eF9scF9hc3NldAkBDWdldEFzc2V0Qnl0ZXMBBQ53eF9scF9hc3NldF9pZAQJbHBCYWxhbmNlCQEJbXlCYWxhbmNlAQULd3hfbHBfYXNzZXQJAPwHBAkBB0FkZHJlc3MBCQDZBAEFAnBvBQVnZXRPcAkAzAgCBQVhX291dAkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgULd3hfbHBfYXNzZXQFCWxwQmFsYW5jZQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAIFBmVudHJ5MQUGZW50cnkxBBZhbW91bnRfYWZ0ZXJfYXNzZXRfb3V0CQEJbXlCYWxhbmNlAQkBDWdldEFzc2V0Qnl0ZXMBBQVhX291dAMJAAACBRZhbW91bnRfYWZ0ZXJfYXNzZXRfb3V0BRZhbW91bnRfYWZ0ZXJfYXNzZXRfb3V0BARyZXN1CQBlAgUWYW1vdW50X2FmdGVyX2Fzc2V0X291dAUUYW1vdW50X2JlZl9hc3NldF9vdXQJAAIBCQCsAgIJAKQDAQUEcmVzdQIDLCAwCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBB2Zha2Vfd3gHBGFfaW4GYW1vdW50BWFfb3V0AnBvBXBvX3R5Dnd4X2xwX2Fzc2V0X2lkCWlzX3N0YWJsZQQHYXNzZXRJbgkBDWdldEFzc2V0Qnl0ZXMBBQRhX2luBAhhbW91bnRJbgUGYW1vdW50BAVwdXRPcAMFCWlzX3N0YWJsZQILcHV0T25lVGtuVjICCXB1dE9uZVRrbgQFZ2V0T3ADBQlpc19zdGFibGUCC2dldE9uZVRrblYyAglnZXRPbmVUa24EFGFtb3VudF9iZWZfYXNzZXRfb3V0CQEJbXlCYWxhbmNlAQkBDWdldEFzc2V0Qnl0ZXMBBQVhX291dAMJAAACBRRhbW91bnRfYmVmX2Fzc2V0X291dAUUYW1vdW50X2JlZl9hc3NldF9vdXQEBnN1cHBseQgJAQV2YWx1ZQEJAOwHAQkA2QQBBQ53eF9scF9hc3NldF9pZAhxdWFudGl0eQMJAAACBQZzdXBwbHkFBnN1cHBseQQDcHV0CQD8BwQJAQdBZGRyZXNzAQkA2QQBBQJwbwUFcHV0T3AJAMwIAgABCQDMCAIHBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB2Fzc2V0SW4FCGFtb3VudEluBQNuaWwDCQAAAgUDcHV0BQNwdXQEC3d4X2xwX2Fzc2V0CQENZ2V0QXNzZXRCeXRlcwEFDnd4X2xwX2Fzc2V0X2lkBAlscEJhbGFuY2UJAQlteUJhbGFuY2UBBQt3eF9scF9hc3NldAMJAAACBQlscEJhbGFuY2UFCWxwQmFsYW5jZQQDZ2V0CQD8BwQJAQdBZGRyZXNzAQkA2QQBBQJwbwUFZ2V0T3AJAMwIAgUFYV9vdXQJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFC3d4X2xwX2Fzc2V0BQlscEJhbGFuY2UFA25pbAMJAAACBQNnZXQFA2dldAQWYW1vdW50X2FmdGVyX2Fzc2V0X291dAkBCW15QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQUFYV9vdXQDCQAAAgUWYW1vdW50X2FmdGVyX2Fzc2V0X291dAUWYW1vdW50X2FmdGVyX2Fzc2V0X291dAQEcmVzdQkAZQIFFmFtb3VudF9hZnRlcl9hc3NldF9vdXQFFGFtb3VudF9iZWZfYXNzZXRfb3V0CQACAQkArAICCQCsAgIJAKwCAgkArAICCQCkAwEFBHJlc3UCASwJAKQDAQUJbHBCYWxhbmNlAgEsCQCkAwEFBnN1cHBseQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQhmYWtlX3d4MgQEYV9pbgZhbW91bnQFYV9vdXQCcG8EB2Fzc2V0SW4JAQ1nZXRBc3NldEJ5dGVzAQUEYV9pbgQIYW1vdW50SW4FBmFtb3VudAQUYW1vdW50X2JlZl9hc3NldF9vdXQJAQlteUJhbGFuY2UBCQENZ2V0QXNzZXRCeXRlcwEFBWFfb3V0AwkAAAIFFGFtb3VudF9iZWZfYXNzZXRfb3V0BRRhbW91bnRfYmVmX2Fzc2V0X291dAQBcgkA/AcECQEHQWRkcmVzcwEBGgFXLio1NbENt/F5PuG3RtCedFJNezHQg64GAgRzd2FwCQDMCAIAAQkAzAgCBQVhX291dAkAzAgCCQClCAEFBHRoaXMFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUHYXNzZXRJbgUGYW1vdW50BQNuaWwDCQAAAgUBcgUBcgQEcmVzdQkAZQIJAQlteUJhbGFuY2UBCQENZ2V0QXNzZXRCeXRlcwEFBWFfb3V0BRRhbW91bnRfYmVmX2Fzc2V0X291dAMJAAACBQRyZXN1BQRyZXN1CQACAQkApAMBBQRyZXN1CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAlacE8=", "height": 3653340, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6kvDBw3S9rrFpTBfSbyr4gDiL1YTWvkgSx1CqPeLAahJ Next: J23jLicmE5UvRJor6Xru9tYwaQ5ZekcZ45FFvNLCH8H1 Diff:
Old | New | Differences | |
---|---|---|---|
156 | 156 | } | |
157 | 157 | ||
158 | 158 | ||
159 | + | ||
160 | + | @Callable(i) | |
161 | + | func fake_wx2 (a_in,amount,a_out,po) = { | |
162 | + | let assetIn = getAssetBytes(a_in) | |
163 | + | let amountIn = amount | |
164 | + | let amount_bef_asset_out = myBalance(getAssetBytes(a_out)) | |
165 | + | if ((amount_bef_asset_out == amount_bef_asset_out)) | |
166 | + | then { | |
167 | + | let r = invoke(Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93'), "swap", [1, a_out, toString(this)], [AttachedPayment(assetIn, amount)]) | |
168 | + | if ((r == r)) | |
169 | + | then { | |
170 | + | let resu = (myBalance(getAssetBytes(a_out)) - amount_bef_asset_out) | |
171 | + | if ((resu == resu)) | |
172 | + | then throw(toString(resu)) | |
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 | + | ||
180 | + |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let ruler_test = "BgxpCm4wxbW8SKLPKZnf4KU2D6ZU29ov8MgZrkaSAqpY" | |
5 | 5 | ||
6 | 6 | let ruler = "7zNUJBVoPMBCRstP3R1AvxhxrN51SQkn5BMi2iJ9ciAd" | |
7 | 7 | ||
8 | 8 | let ruler2 = "9fe67ewzxtaLozePZ2U3SG71ZQFyGLAXWmmmHREpFeMC" | |
9 | 9 | ||
10 | 10 | let ruler3 = "FeMX6hQaRKsLski77xVHHDGRkj9VuJzmP2MACbAWDjDK" | |
11 | 11 | ||
12 | 12 | let ruler4 = "3PSK7b6bMf1gBDvjHRbGQ9zGc68UireqBj2eubVi1q5r" | |
13 | 13 | ||
14 | 14 | let ruler5 = "66rCv9dfdouqQ3SRG9XrKnRiFmMbwkZQgmhS1ftnCtqm" | |
15 | 15 | ||
16 | 16 | let ruler6 = "FeMX6hQaRKsLski77xVHHDGRkj9VuJzmP2MACbAWDjDK" | |
17 | 17 | ||
18 | 18 | let abracadbra = base58'9wFjTx4rK6ZxfHa3z65BHhP6A7gkZLioxVrD4p2Frjjn' | |
19 | 19 | ||
20 | 20 | func vip (kkk) = if (if (if (if (if (if ((kkk == ruler)) | |
21 | 21 | then true | |
22 | 22 | else (kkk == ruler2)) | |
23 | 23 | then true | |
24 | 24 | else (kkk == ruler3)) | |
25 | 25 | then true | |
26 | 26 | else (kkk == ruler4)) | |
27 | 27 | then true | |
28 | 28 | else (kkk == ruler5)) | |
29 | 29 | then true | |
30 | 30 | else (kkk == ruler6)) | |
31 | 31 | then true | |
32 | 32 | else false | |
33 | 33 | ||
34 | 34 | ||
35 | 35 | func getAssetId (pmt) = match pmt { | |
36 | 36 | case p: ByteVector => | |
37 | 37 | pmt | |
38 | 38 | case _ => | |
39 | 39 | unit | |
40 | 40 | } | |
41 | 41 | ||
42 | 42 | ||
43 | 43 | func getAssetString (assetId) = match assetId { | |
44 | 44 | case b: ByteVector => | |
45 | 45 | toBase58String(b) | |
46 | 46 | case _ => | |
47 | 47 | "WAVES" | |
48 | 48 | } | |
49 | 49 | ||
50 | 50 | ||
51 | 51 | func getAccBalance (assetId) = if ((assetId == "WAVES")) | |
52 | 52 | then wavesBalance(this).available | |
53 | 53 | else assetBalance(this, fromBase58String(assetId)) | |
54 | 54 | ||
55 | 55 | ||
56 | 56 | func getAssetBytes (assetId) = if ((assetId == "WAVES")) | |
57 | 57 | then unit | |
58 | 58 | else fromBase58String(assetId) | |
59 | 59 | ||
60 | 60 | ||
61 | 61 | func myBalance (assetId) = match assetId { | |
62 | 62 | case b: ByteVector => | |
63 | 63 | assetBalance(this, b) | |
64 | 64 | case _ => | |
65 | 65 | wavesBalance(this).available | |
66 | 66 | } | |
67 | 67 | ||
68 | 68 | ||
69 | 69 | @Callable(i) | |
70 | 70 | func fake (a_in,amount,a_out,po,po_ty,wx_lp_asset_id,is_stable) = { | |
71 | 71 | let assetIn = getAssetBytes(a_in) | |
72 | 72 | let amountIn = amount | |
73 | 73 | let putOp = if (is_stable) | |
74 | 74 | then "putOneTknV2" | |
75 | 75 | else "putOneTkn" | |
76 | 76 | let getOp = if (is_stable) | |
77 | 77 | then "getOneTknV2" | |
78 | 78 | else "getOneTkn" | |
79 | 79 | let amount_bef_asset_out = myBalance(getAssetBytes(a_out)) | |
80 | 80 | if ((amount_bef_asset_out == amount_bef_asset_out)) | |
81 | 81 | then { | |
82 | 82 | let entry1 = if ((po_ty == "p")) | |
83 | 83 | then invoke(Address(fromBase58String(po)), "swap", [a_out, 1], [AttachedPayment(assetIn, amountIn)]) | |
84 | 84 | else if ((po_ty == "s")) | |
85 | 85 | then invoke(Address(fromBase58String(po)), "exchange", [1], [AttachedPayment(assetIn, amountIn)]) | |
86 | 86 | else { | |
87 | 87 | let put = invoke(Address(fromBase58String(po)), putOp, [1, false], [AttachedPayment(assetIn, amountIn)]) | |
88 | 88 | if ((put == put)) | |
89 | 89 | then { | |
90 | 90 | let wx_lp_asset = getAssetBytes(wx_lp_asset_id) | |
91 | 91 | let lpBalance = myBalance(wx_lp_asset) | |
92 | 92 | invoke(Address(fromBase58String(po)), getOp, [a_out, 1], [AttachedPayment(wx_lp_asset, lpBalance)]) | |
93 | 93 | } | |
94 | 94 | else throw("Strict value is not equal to itself.") | |
95 | 95 | } | |
96 | 96 | if ((entry1 == entry1)) | |
97 | 97 | then { | |
98 | 98 | let amount_after_asset_out = myBalance(getAssetBytes(a_out)) | |
99 | 99 | if ((amount_after_asset_out == amount_after_asset_out)) | |
100 | 100 | then { | |
101 | 101 | let resu = (amount_after_asset_out - amount_bef_asset_out) | |
102 | 102 | throw((toString(resu) + ", 0")) | |
103 | 103 | } | |
104 | 104 | else throw("Strict value is not equal to itself.") | |
105 | 105 | } | |
106 | 106 | else throw("Strict value is not equal to itself.") | |
107 | 107 | } | |
108 | 108 | else throw("Strict value is not equal to itself.") | |
109 | 109 | } | |
110 | 110 | ||
111 | 111 | ||
112 | 112 | ||
113 | 113 | @Callable(i) | |
114 | 114 | func fake_wx (a_in,amount,a_out,po,po_ty,wx_lp_asset_id,is_stable) = { | |
115 | 115 | let assetIn = getAssetBytes(a_in) | |
116 | 116 | let amountIn = amount | |
117 | 117 | let putOp = if (is_stable) | |
118 | 118 | then "putOneTknV2" | |
119 | 119 | else "putOneTkn" | |
120 | 120 | let getOp = if (is_stable) | |
121 | 121 | then "getOneTknV2" | |
122 | 122 | else "getOneTkn" | |
123 | 123 | let amount_bef_asset_out = myBalance(getAssetBytes(a_out)) | |
124 | 124 | if ((amount_bef_asset_out == amount_bef_asset_out)) | |
125 | 125 | then { | |
126 | 126 | let supply = value(assetInfo(fromBase58String(wx_lp_asset_id))).quantity | |
127 | 127 | if ((supply == supply)) | |
128 | 128 | then { | |
129 | 129 | let put = invoke(Address(fromBase58String(po)), putOp, [1, false], [AttachedPayment(assetIn, amountIn)]) | |
130 | 130 | if ((put == put)) | |
131 | 131 | then { | |
132 | 132 | let wx_lp_asset = getAssetBytes(wx_lp_asset_id) | |
133 | 133 | let lpBalance = myBalance(wx_lp_asset) | |
134 | 134 | if ((lpBalance == lpBalance)) | |
135 | 135 | then { | |
136 | 136 | let get = invoke(Address(fromBase58String(po)), getOp, [a_out, 1], [AttachedPayment(wx_lp_asset, lpBalance)]) | |
137 | 137 | if ((get == get)) | |
138 | 138 | then { | |
139 | 139 | let amount_after_asset_out = myBalance(getAssetBytes(a_out)) | |
140 | 140 | if ((amount_after_asset_out == amount_after_asset_out)) | |
141 | 141 | then { | |
142 | 142 | let resu = (amount_after_asset_out - amount_bef_asset_out) | |
143 | 143 | throw(((((toString(resu) + ",") + toString(lpBalance)) + ",") + toString(supply))) | |
144 | 144 | } | |
145 | 145 | else throw("Strict value is not equal to itself.") | |
146 | 146 | } | |
147 | 147 | else throw("Strict value is not equal to itself.") | |
148 | 148 | } | |
149 | 149 | else throw("Strict value is not equal to itself.") | |
150 | 150 | } | |
151 | 151 | else throw("Strict value is not equal to itself.") | |
152 | 152 | } | |
153 | 153 | else throw("Strict value is not equal to itself.") | |
154 | 154 | } | |
155 | 155 | else throw("Strict value is not equal to itself.") | |
156 | 156 | } | |
157 | 157 | ||
158 | 158 | ||
159 | + | ||
160 | + | @Callable(i) | |
161 | + | func fake_wx2 (a_in,amount,a_out,po) = { | |
162 | + | let assetIn = getAssetBytes(a_in) | |
163 | + | let amountIn = amount | |
164 | + | let amount_bef_asset_out = myBalance(getAssetBytes(a_out)) | |
165 | + | if ((amount_bef_asset_out == amount_bef_asset_out)) | |
166 | + | then { | |
167 | + | let r = invoke(Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93'), "swap", [1, a_out, toString(this)], [AttachedPayment(assetIn, amount)]) | |
168 | + | if ((r == r)) | |
169 | + | then { | |
170 | + | let resu = (myBalance(getAssetBytes(a_out)) - amount_bef_asset_out) | |
171 | + | if ((resu == resu)) | |
172 | + | then throw(toString(resu)) | |
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 | + | ||
180 | + |
github/deemru/w8io/6500d08 31.00 ms ◑