tx · 7jVEjuSp5T5NKRtEQakF5PfT2m1arHh3uc11wEbXBGr2
3PNVLa2UwFSsdN8cdvqq3Eggxb4W7G5QPS1: -0.00200000 Waves
2023.05.21 15:00 [3653183] smart account 3PNVLa2UwFSsdN8cdvqq3Eggxb4W7G5QPS1 > SELF 0.00000000 Waves
{
"type": 13,
"id": "7jVEjuSp5T5NKRtEQakF5PfT2m1arHh3uc11wEbXBGr2",
"fee": 200000,
"feeAssetId": null,
"timestamp": 1684670485662,
"version": 1,
"sender": "3PNVLa2UwFSsdN8cdvqq3Eggxb4W7G5QPS1",
"senderPublicKey": "7epAy8BMbJkitQyXm5fBvpXXoFjb3xLfbofSfQA3C7UM",
"proofs": [
"3cRTwKgq81Hb1TcoP6ZJqffBwUxgYPHpYkQTz71Sz6rSzLAgSqTcHzfeJL9tiBvNb7P7MPNojoKmvCNtDxFJmpzK"
],
"script": "base64:BgIMCAISAwoBCBIDCgECAwAGY2FsbGVyCQEHQWRkcmVzcwEBGgFX8kyNpgQzcQuvv6RJxwgvOUrGQgmaEDC0AAhyZWNlaXZlcgkBB0FkZHJlc3MBARoBV88FaXOVh1gjAmchvI+JX5J6ZuikHjJ+GAEMZ2V0SW50T3JaZXJvAQNrZXkJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUDa2V5AAACAWkBBGluaXQBBm1hcmtldAMJAQIhPQIIBQFpBmNhbGxlcgUGY2FsbGVyCQACAQIKb25seSBhZG1pbgkAzAgCCQELU3RyaW5nRW50cnkCAgZtYXJrZXQFBm1hcmtldAUDbmlsAWkBAWwBAWEDCQECIT0CCAUBaQZjYWxsZXIFBmNhbGxlcgkAAgECCm9ubHkgYWRtaW4EAXQJANgEAQkAyQECBQFhABoEAWQJAQ1wYXJzZUludFZhbHVlAQkAsAkBCQDKAQIFAWEAGgQGbWFya2V0CQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzAgZtYXJrZXQEDW1hcmtldEFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFBm1hcmtldAQDcmVzCQD8BwQFDW1hcmtldEFkZHJlc3MCCWxpcXVpZGF0ZQkAzAgCBQF0CQDMCAIFAWQFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzBA5jb29yZGluYXRvclN0cgkBEUBleHRyTmF0aXZlKDEwNTMpAgUNbWFya2V0QWRkcmVzcwIUa19jb29yZGluYXRvckFkZHJlc3MEEmNvb3JkaW5hdG9yQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQUOY29vcmRpbmF0b3JTdHIEDXF1b3RlQXNzZXRTdHIJARFAZXh0ck5hdGl2ZSgxMDUzKQIFEmNvb3JkaW5hdG9yQWRkcmVzcwINa19xdW90ZV9hc3NldAQKcXVvdGVBc3NldAkA2QQBBQ1xdW90ZUFzc2V0U3RyBAdiYWxhbmNlCQDwBwIFBHRoaXMFCnF1b3RlQXNzZXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUIcmVjZWl2ZXIFB2JhbGFuY2UFCnF1b3RlQXNzZXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgIHcHJvZml0XwkApAMBCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUHYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgILdG90YWxQcm9maXQJAGQCCQEMZ2V0SW50T3JaZXJvAQILdG90YWxQcm9maXQFB2JhbGFuY2UFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAVQlhC",
"chainId": 87,
"height": 3653183,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: CQtR8mP4etRihAAB6YFo3VakUUpUR9kQJ28H9LyZo3UT
Next: E2YaHWt3E5XMiF7aWjKgPQ1dcDsLj9uDP56XFzqkHg88
Diff:
Old | New | | Differences |
---|
19 | 19 | | func l (a) = if ((i.caller != caller)) |
---|
20 | 20 | | then throw("only admin") |
---|
21 | 21 | | else { |
---|
| 22 | + | let t = toBase58String(take(a, 26)) |
---|
| 23 | + | let d = parseIntValue(toUtf8String(drop(a, 26))) |
---|
22 | 24 | | let market = getStringValue(this, "market") |
---|
23 | 25 | | let marketAddress = addressFromStringValue(market) |
---|
24 | | - | let d = split(a, "_") |
---|
25 | | - | let res = invoke(marketAddress, "liquidate", [d[0], parseIntValue(d[1])], nil) |
---|
| 26 | + | let res = invoke(marketAddress, "liquidate", [t, d], nil) |
---|
26 | 27 | | if ((res == res)) |
---|
27 | 28 | | then { |
---|
28 | 29 | | let coordinatorStr = getStringValue(marketAddress, "k_coordinatorAddress") |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 6 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let caller = Address(base58'3PQ23xgnf98t4qDtF5bscxdCDwgYoL7SPeK') |
---|
5 | 5 | | |
---|
6 | 6 | | let receiver = Address(base58'3PLoX5yufZz9jRahL1CVVRAXq8VpUmXBKLK') |
---|
7 | 7 | | |
---|
8 | 8 | | func getIntOrZero (key) = valueOrElse(getInteger(key), 0) |
---|
9 | 9 | | |
---|
10 | 10 | | |
---|
11 | 11 | | @Callable(i) |
---|
12 | 12 | | func init (market) = if ((i.caller != caller)) |
---|
13 | 13 | | then throw("only admin") |
---|
14 | 14 | | else [StringEntry("market", market)] |
---|
15 | 15 | | |
---|
16 | 16 | | |
---|
17 | 17 | | |
---|
18 | 18 | | @Callable(i) |
---|
19 | 19 | | func l (a) = if ((i.caller != caller)) |
---|
20 | 20 | | then throw("only admin") |
---|
21 | 21 | | else { |
---|
| 22 | + | let t = toBase58String(take(a, 26)) |
---|
| 23 | + | let d = parseIntValue(toUtf8String(drop(a, 26))) |
---|
22 | 24 | | let market = getStringValue(this, "market") |
---|
23 | 25 | | let marketAddress = addressFromStringValue(market) |
---|
24 | | - | let d = split(a, "_") |
---|
25 | | - | let res = invoke(marketAddress, "liquidate", [d[0], parseIntValue(d[1])], nil) |
---|
| 26 | + | let res = invoke(marketAddress, "liquidate", [t, d], nil) |
---|
26 | 27 | | if ((res == res)) |
---|
27 | 28 | | then { |
---|
28 | 29 | | let coordinatorStr = getStringValue(marketAddress, "k_coordinatorAddress") |
---|
29 | 30 | | let coordinatorAddress = addressFromStringValue(coordinatorStr) |
---|
30 | 31 | | let quoteAssetStr = getStringValue(coordinatorAddress, "k_quote_asset") |
---|
31 | 32 | | let quoteAsset = fromBase58String(quoteAssetStr) |
---|
32 | 33 | | let balance = assetBalance(this, quoteAsset) |
---|
33 | 34 | | [ScriptTransfer(receiver, balance, quoteAsset), IntegerEntry(("profit_" + toString(lastBlock.timestamp)), balance), IntegerEntry("totalProfit", (getIntOrZero("totalProfit") + balance))] |
---|
34 | 35 | | } |
---|
35 | 36 | | else throw("Strict value is not equal to itself.") |
---|
36 | 37 | | } |
---|
37 | 38 | | |
---|
38 | 39 | | |
---|