tx · DZ1gWwn7KTPKPLwwsBw5F2sk3kjhbZMReracdjcdsdeF 3Mxk2acCcf95Ri23vaFptSaVr1YcMbvpNp8: -0.05000000 Waves 2023.07.18 16:28 [2671378] smart account 3Mxk2acCcf95Ri23vaFptSaVr1YcMbvpNp8 > SELF 0.00000000 Waves
{ "type": 13, "id": "DZ1gWwn7KTPKPLwwsBw5F2sk3kjhbZMReracdjcdsdeF", "fee": 5000000, "feeAssetId": null, "timestamp": 1689686928595, "version": 2, "chainId": 84, "sender": "3Mxk2acCcf95Ri23vaFptSaVr1YcMbvpNp8", "senderPublicKey": "EWZ5VwinZwKC1FD8dPSmREw9b5qVXBnUCpvnTdxeLyDN", "proofs": [ "PASZydDm3j6oXyDk5miKAKYc7tWcT8cmv8qN3vgrAU1F2q4Tf5ayTyfKSoCM3mXpwiTrkzkW5KbuGAzTEVZFJdD" ], "script": "base64:BgLDAggCEgMKAQgSBQoDAQgIIgxrZXlTd2FwQXNzZXQiD2dldFN3YXBBc3NldFN0ciIMZ2V0QXNzZXRJbmZvIgdhc3NldElkIgckbWF0Y2gwIgJpZCIIc3RyaW5nSWQiBGluZm8iBXdhdmVzIgp0b0RlY2ltYWxzIgdhbW91bnRBIglkZWNpbWFsc0EiCWRlY2ltYWxzQiIBaSIJX2Fzc2V0U3RyIgdfYW1vdW50IghfYWRkcmVzcyIDcG10Iglzd2FwQXNzZXQiCyR0MDExNDgxMjIyIg1wbXRTdHJBc3NldElkIgxwbXRBc3NldE5hbWUiC3BtdERlY2ltYWxzIgskdDAxMjI1MTMwMCIOc3dhcFN0ckFzc2V0SWQiDXN3YXBBc3NldE5hbWUiDHN3YXBEZWNpbWFscyIMYW1vdW50VG9TZW5kBAEBYQAJALkJAgkAzAgCAgIlcwkAzAgCAglzd2FwQXNzZXQFA25pbAICX18BAWIACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBAWEAAhJTd2FwIGFzc2V0IG5vdCBzZXQBAWMBAWQEAWUFAWQDCQABAgUBZQIKQnl0ZVZlY3RvcgQBZgUBZQQBZwkA2AQBBQFmBAFoCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAOwHAQUBZgkArAICCQCsAgICBkFzc2V0IAUBZwIOIGRvZXNuJ3QgZXhpc3QJAJUKAwUBZwgFAWgEbmFtZQgFAWgIZGVjaW1hbHMDCQABAgUBZQIEVW5pdAQBaQUBZQkAlQoDAgVXQVZFUwIFV0FWRVMACAkAAgECC01hdGNoIGVycm9yAQFqAwFrAWwBbQMJAGYCBQFsBQFtCQBpAgUBawkAbAYACgAACQBlAgUBbAUBbQAAAAAFBUZMT09SAwkAZgIFAW0FAWwJAGgCBQFrCQBsBgAKAAAJAGUCBQFtBQFsAAAAAAUFRkxPT1IFAWsCAW4BCmluaXRpYWxpemUBAW8JAMwIAgkBC1N0cmluZ0VudHJ5AgkBAWEABQFvBQNuaWwBbgEEc3dhcAMBcAFvAXEEAXIJAJEDAggFAW4IcGF5bWVudHMAAAQBcwkA2QQBCQEBYgAEAXQJAQFjAQgFAXIHYXNzZXRJZAQBdQgFAXQCXzEEAXYIBQF0Al8yBAF3CAUBdAJfMwQBeAkBAWMBBQFzBAF5CAUBeAJfMQQBeggFAXgCXzIEAUEIBQF4Al8zBAFCCQEBagMIBQFyBmFtb3VudAUBdwUBQQkAlAoCCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAXEFAUIFAXMFA25pbAUBQgDR9hdP", "height": 2671378, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | func keySwapAsset () = makeString(["%s", "swapAsset"], "__") | |
5 | + | ||
6 | + | ||
7 | + | func getSwapAssetStr () = valueOrErrorMessage(getString(keySwapAsset()), "Swap asset not set") | |
8 | + | ||
9 | + | ||
10 | + | func getAssetInfo (assetId) = match assetId { | |
11 | + | case id: ByteVector => | |
12 | + | let stringId = toBase58String(id) | |
13 | + | let info = valueOrErrorMessage(assetInfo(id), (("Asset " + stringId) + " doesn't exist")) | |
14 | + | $Tuple3(stringId, info.name, info.decimals) | |
15 | + | case waves: Unit => | |
16 | + | $Tuple3("WAVES", "WAVES", 8) | |
17 | + | case _ => | |
18 | + | throw("Match error") | |
19 | + | } | |
20 | + | ||
21 | + | ||
22 | + | func toDecimals (amountA,decimalsA,decimalsB) = if ((decimalsA > decimalsB)) | |
23 | + | then (amountA / pow(10, 0, (decimalsA - decimalsB), 0, 0, FLOOR)) | |
24 | + | else if ((decimalsB > decimalsA)) | |
25 | + | then (amountA * pow(10, 0, (decimalsB - decimalsA), 0, 0, FLOOR)) | |
26 | + | else amountA | |
27 | + | ||
28 | + | ||
29 | + | @Callable(i) | |
30 | + | func initialize (_assetStr) = [StringEntry(keySwapAsset(), _assetStr)] | |
31 | + | ||
32 | + | ||
33 | + | ||
34 | + | @Callable(i) | |
35 | + | func swap (_amount,_assetStr,_address) = { | |
36 | + | let pmt = i.payments[0] | |
37 | + | let swapAsset = fromBase58String(getSwapAssetStr()) | |
38 | + | let $t011481222 = getAssetInfo(pmt.assetId) | |
39 | + | let pmtStrAssetId = $t011481222._1 | |
40 | + | let pmtAssetName = $t011481222._2 | |
41 | + | let pmtDecimals = $t011481222._3 | |
42 | + | let $t012251300 = getAssetInfo(swapAsset) | |
43 | + | let swapStrAssetId = $t012251300._1 | |
44 | + | let swapAssetName = $t012251300._2 | |
45 | + | let swapDecimals = $t012251300._3 | |
46 | + | let amountToSend = toDecimals(pmt.amount, pmtDecimals, swapDecimals) | |
47 | + | $Tuple2([ScriptTransfer(addressFromStringValue(_address), amountToSend, swapAsset)], amountToSend) | |
48 | + | } | |
49 | + | ||
50 | + |
github/deemru/w8io/169f3d6 16.21 ms ◑![]()