tx · 9WGLsXmeadUoYRbCvVwAzqJkJjwhv4Smwxrw7uUg3K2

3P5iS5FnZHLoEcSwmDpShmNn9Z5KCL2XdbU:  -0.01000000 Waves

2022.11.21 01:17 [3391437] smart account 3P5iS5FnZHLoEcSwmDpShmNn9Z5KCL2XdbU > SELF 0.00000000 Waves

{ "type": 13, "id": "9WGLsXmeadUoYRbCvVwAzqJkJjwhv4Smwxrw7uUg3K2", "fee": 1000000, "feeAssetId": null, "timestamp": 1668982724181, "version": 2, "chainId": 87, "sender": "3P5iS5FnZHLoEcSwmDpShmNn9Z5KCL2XdbU", "senderPublicKey": "FQ1hCr2qX8MTXUGfsXkucpF5apQVnwe7my5z7nFk2ggQ", "proofs": [ "2TSd5UNRahNJaBm5z8YzMHe7e9PKhLMkzgjEWMGVD8WxghzzTwSPeet8A2E2mvbUQdCN8wPCAMq5vT5eQtcGomma" ], "script": "base64:AAIFAAAAAAAAAAcIAhIDCgEIAAAAAwEAAAAOZ2V0QXNzZXRTdHJpbmcAAAABAAAAB2Fzc2V0SWQEAAAAByRtYXRjaDAFAAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAWIFAAAAByRtYXRjaDAJAAJYAAAAAQUAAAABYgIAAAAFV0FWRVMBAAAADWdldEFzc2V0Qnl0ZXMAAAABAAAACmFzc2V0SWRTdHIDCQAAAAAAAAIFAAAACmFzc2V0SWRTdHICAAAABVdBVkVTBQAAAAR1bml0CQACWQAAAAEFAAAACmFzc2V0SWRTdHIBAAAACmdldEJhbGFuY2UAAAABAAAACmFzc2V0SWRTdHIDCQAAAAAAAAIFAAAACmFzc2V0SWRTdHICAAAABVdBVkVTCAkAA+8AAAABBQAAAAR0aGlzAAAACWF2YWlsYWJsZQkAA/AAAAACBQAAAAR0aGlzCQACWQAAAAEFAAAACmFzc2V0SWRTdHIAAAABAAAAAWkBAAAABnN3YXBXWAAAAAEAAAAGYXNzZXQxBAAAAAdhbW91bnQwCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQEAAAABmFzc2V0MAkBAAAADmdldEFzc2V0U3RyaW5nAAAAAQgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAOZmFjdG9yeUFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVd4W96KvlEqrosx6m8TkCW+9Km4orsJAkEEAAAACWFzc2V0MEludAkAAaQAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAA5mYWN0b3J5QWRkcmVzcwkAASwAAAACAgAAACglcyVzJXNfX21hcHBpbmdzX19iYXNlQXNzZXQyaW50ZXJuYWxJZF9fBQAAAAZhc3NldDAEAAAACWFzc2V0MUludAkAAaQAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAA5mYWN0b3J5QWRkcmVzcwkAASwAAAACAgAAACglcyVzJXNfX21hcHBpbmdzX19iYXNlQXNzZXQyaW50ZXJuYWxJZF9fBQAAAAZhc3NldDEEAAAACnBvb2xDb25maWcJAAS1AAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAOZmFjdG9yeUFkZHJlc3MJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIJWQlZCVzX18FAAAACWFzc2V0MEludAIAAAACX18FAAAACWFzc2V0MUludAIAAAAIX19jb25maWcCAAAAAl9fBAAAAAtwb29sQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkAAZEAAAACBQAAAApwb29sQ29uZmlnAAAAAAAAAAABBAAAAAtwb29sQXNzZXRJZAkAAZEAAAACBQAAAApwb29sQ29uZmlnAAAAAAAAAAADCQAAAgAAAAEJAAGRAAAAAgUAAAAKcG9vbENvbmZpZwAAAAAAAAAAAQAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5JyO32w==", "height": 3391437, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: D1QppE9PVGvGvJmF2QeEQ4otEd6Qs5iGpkM9YpB7Np2g Next: 6AfVEVpvQe5VqCVv7BKCeL4YUpQ8hDEmD9Eoazc8LmDK Diff:
OldNewDifferences
2929 let poolConfig = split(getStringValue(factoryAddress, (((("%d%d%s__" + asset0Int) + "__") + asset1Int) + "__config")), "__")
3030 let poolAddress = addressFromStringValue(poolConfig[1])
3131 let poolAssetId = poolConfig[3]
32- let inv1 = invoke(poolAddress, "putOneTkn", [0, false], [AttachedPayment(getAssetBytes(asset0), amount0)])
33- if ((inv1 == inv1))
34- then {
35- let poolTokenAmount = getBalance(poolAssetId)
36- if ((poolTokenAmount == poolTokenAmount))
37- then {
38- let asset1BalanceBefore = getBalance(asset1)
39- if ((asset1BalanceBefore == asset1BalanceBefore))
40- then {
41- let inv2 = invoke(poolAddress, "getOneTkn", [asset1, 0], [AttachedPayment(getAssetBytes(poolAssetId), poolTokenAmount)])
42- if ((inv2 == inv2))
43- then {
44- let amount1 = (getBalance(asset1) - asset1BalanceBefore)
45- if ((amount1 == amount1))
46- then [ScriptTransfer(i.caller, amount1, getAssetBytes(asset1))]
47- else throw("Strict value is not equal to itself.")
48- }
49- else throw("Strict value is not equal to itself.")
50- }
51- else throw("Strict value is not equal to itself.")
52- }
53- else throw("Strict value is not equal to itself.")
54- }
55- else throw("Strict value is not equal to itself.")
32+ throw(poolConfig[1])
5633 }
5734
5835
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func getAssetString (assetId) = match assetId {
55 case b: ByteVector =>
66 toBase58String(b)
77 case _ =>
88 "WAVES"
99 }
1010
1111
1212 func getAssetBytes (assetIdStr) = if ((assetIdStr == "WAVES"))
1313 then unit
1414 else fromBase58String(assetIdStr)
1515
1616
1717 func getBalance (assetIdStr) = if ((assetIdStr == "WAVES"))
1818 then wavesBalance(this).available
1919 else assetBalance(this, fromBase58String(assetIdStr))
2020
2121
2222 @Callable(i)
2323 func swapWX (asset1) = {
2424 let amount0 = i.payments[0].amount
2525 let asset0 = getAssetString(i.payments[0].assetId)
2626 let factoryAddress = Address(base58'3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv')
2727 let asset0Int = toString(getIntegerValue(factoryAddress, ("%s%s%s__mappings__baseAsset2internalId__" + asset0)))
2828 let asset1Int = toString(getIntegerValue(factoryAddress, ("%s%s%s__mappings__baseAsset2internalId__" + asset1)))
2929 let poolConfig = split(getStringValue(factoryAddress, (((("%d%d%s__" + asset0Int) + "__") + asset1Int) + "__config")), "__")
3030 let poolAddress = addressFromStringValue(poolConfig[1])
3131 let poolAssetId = poolConfig[3]
32- let inv1 = invoke(poolAddress, "putOneTkn", [0, false], [AttachedPayment(getAssetBytes(asset0), amount0)])
33- if ((inv1 == inv1))
34- then {
35- let poolTokenAmount = getBalance(poolAssetId)
36- if ((poolTokenAmount == poolTokenAmount))
37- then {
38- let asset1BalanceBefore = getBalance(asset1)
39- if ((asset1BalanceBefore == asset1BalanceBefore))
40- then {
41- let inv2 = invoke(poolAddress, "getOneTkn", [asset1, 0], [AttachedPayment(getAssetBytes(poolAssetId), poolTokenAmount)])
42- if ((inv2 == inv2))
43- then {
44- let amount1 = (getBalance(asset1) - asset1BalanceBefore)
45- if ((amount1 == amount1))
46- then [ScriptTransfer(i.caller, amount1, getAssetBytes(asset1))]
47- else throw("Strict value is not equal to itself.")
48- }
49- else throw("Strict value is not equal to itself.")
50- }
51- else throw("Strict value is not equal to itself.")
52- }
53- else throw("Strict value is not equal to itself.")
54- }
55- else throw("Strict value is not equal to itself.")
32+ throw(poolConfig[1])
5633 }
5734
5835
5936 @Verifier(tx)
6037 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
6138

github/deemru/w8io/3ef1775 
22.91 ms