tx · EGKQhzLguTtwnYcr6bx2rMagajakKXaqn5E8x4Rt4GQj
3PJcupzAhUyuBAqEWyKGccGXN9sM2K5mHja: -0.01400000 Waves
2022.11.01 16:40 [3363474] smart account 3PJcupzAhUyuBAqEWyKGccGXN9sM2K5mHja > SELF 0.00000000 Waves
{
"type": 13,
"id": "EGKQhzLguTtwnYcr6bx2rMagajakKXaqn5E8x4Rt4GQj",
"fee": 1400000,
"feeAssetId": null,
"timestamp": 1667310082439,
"version": 2,
"chainId": 87,
"sender": "3PJcupzAhUyuBAqEWyKGccGXN9sM2K5mHja",
"senderPublicKey": "J9eh4VQXtQ56xyr9CrAWffT4jSc7Xn9x3w21a5z83Wwu",
"proofs": [
"5Qhszraofp4hYkagJAC6vKbJ4EqaRDokhdCKKrAvT3amigwQHwEfXk5wFnq8egezdrkH7ewJPVJKFDZPHYsVQrkB"
],
"script": "base64:AAIFAAAAAAAAAAsIAhIHCgUICAgIAQAAAAEBAAAADWdldEFzc2V0Qnl0ZXMAAAABAAAACmFzc2V0SWRTdHIDCQAAAAAAAAIFAAAACmFzc2V0SWRTdHICAAAABVdBVkVTBQAAAAR1bml0CQACWQAAAAEFAAAACmFzc2V0SWRTdHIAAAABAAAAAWkBAAAABHN3YXAAAAAFAAAABmFzc2V0MAAAAAZhc3NldDEAAAAFcG9vbDAAAAAFcG9vbDEAAAAHYW1vdW50MAQAAAAEaW52MQkAA/wAAAAECQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAVwb29sMAIAAAAEc3dhcAkABEwAAAACBQAAAAZhc3NldDEJAARMAAAAAgAAAAAAAAAAAAUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACCQEAAAANZ2V0QXNzZXRCeXRlcwAAAAEFAAAABmFzc2V0MAUAAAAHYW1vdW50MAUAAAADbmlsAwkAAAAAAAACBQAAAARpbnYxBQAAAARpbnYxBAAAAAdhbW91bnQxBAAAAAckbWF0Y2gwBQAAAARpbnYxAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAXgFAAAAByRtYXRjaDAFAAAAAXgJAAACAAAAAQIAAAAUZXJyb3Igd2hpbGUgc3dhcHBpbmcDCQAAAAAAAAIFAAAAB2Ftb3VudDEFAAAAB2Ftb3VudDEEAAAABGludjIJAAP8AAAABAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAFcG9vbDECAAAABHN3YXAJAARMAAAAAgUAAAAGYXNzZXQwCQAETAAAAAIAAAAAAAAAAAAFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgkBAAAADWdldEFzc2V0Qnl0ZXMAAAABBQAAAAZhc3NldDEFAAAAB2Ftb3VudDEFAAAAA25pbAMJAAAAAAAAAgUAAAAEaW52MgUAAAAEaW52MgQAAAAMcmVzdWx0QW1vdW50BAAAAAckbWF0Y2gwBQAAAARpbnYyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAXgFAAAAByRtYXRjaDAFAAAAAXgJAAACAAAAAQIAAAAUZXJyb3Igd2hpbGUgc3dhcHBpbmcDCQAAAAAAAAIFAAAADHJlc3VsdEFtb3VudAUAAAAMcmVzdWx0QW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAMcmVzdWx0QW1vdW50CQEAAAANZ2V0QXNzZXRCeXRlcwAAAAEFAAAABmFzc2V0MQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5QXmoFQ==",
"height": 3363474,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 3LwL3C4Bx6Pph9eQiZpcsrJPuDBew3gNWK3a1QfCfj4M
Next: Gv2bQAYSTry9ww2XnXLpTa5ZocJeNeo59jPxGPtFAPSc
Diff:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
| 4 | + | func getAssetBytes (assetIdStr) = if ((assetIdStr == "WAVES")) |
---|
| 5 | + | then unit |
---|
| 6 | + | else fromBase58String(assetIdStr) |
---|
4 | 7 | | |
---|
5 | 8 | | |
---|
6 | 9 | | @Callable(i) |
---|
7 | 10 | | func swap (asset0,asset1,pool0,pool1,amount0) = { |
---|
8 | | - | let inv1 = invoke(addressFromStringValue(pool0), "swap", [asset1, 0], [AttachedPayment(fromBase58String(asset0), amount0)]) |
---|
| 11 | + | let inv1 = invoke(addressFromStringValue(pool0), "swap", [asset1, 0], [AttachedPayment(getAssetBytes(asset0), amount0)]) |
---|
9 | 12 | | if ((inv1 == inv1)) |
---|
10 | 13 | | then { |
---|
11 | 14 | | let amount1 = match inv1 { |
---|
|
16 | 19 | | } |
---|
17 | 20 | | if ((amount1 == amount1)) |
---|
18 | 21 | | then { |
---|
19 | | - | let inv2 = invoke(addressFromStringValue(pool1), "swap", [asset0, 0], [AttachedPayment(fromBase58String(asset1), amount1)]) |
---|
| 22 | + | let inv2 = invoke(addressFromStringValue(pool1), "swap", [asset0, 0], [AttachedPayment(getAssetBytes(asset1), amount1)]) |
---|
20 | 23 | | if ((inv2 == inv2)) |
---|
21 | 24 | | then { |
---|
22 | 25 | | let resultAmount = match inv2 { |
---|
|
26 | 29 | | throw("error while swapping") |
---|
27 | 30 | | } |
---|
28 | 31 | | if ((resultAmount == resultAmount)) |
---|
29 | | - | then [ScriptTransfer(i.caller, resultAmount, fromBase58String(asset1))] |
---|
| 32 | + | then [ScriptTransfer(i.caller, resultAmount, getAssetBytes(asset1))] |
---|
30 | 33 | | else throw("Strict value is not equal to itself.") |
---|
31 | 34 | | } |
---|
32 | 35 | | else throw("Strict value is not equal to itself.") |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
| 4 | + | func getAssetBytes (assetIdStr) = if ((assetIdStr == "WAVES")) |
---|
| 5 | + | then unit |
---|
| 6 | + | else fromBase58String(assetIdStr) |
---|
4 | 7 | | |
---|
5 | 8 | | |
---|
6 | 9 | | @Callable(i) |
---|
7 | 10 | | func swap (asset0,asset1,pool0,pool1,amount0) = { |
---|
8 | | - | let inv1 = invoke(addressFromStringValue(pool0), "swap", [asset1, 0], [AttachedPayment(fromBase58String(asset0), amount0)]) |
---|
| 11 | + | let inv1 = invoke(addressFromStringValue(pool0), "swap", [asset1, 0], [AttachedPayment(getAssetBytes(asset0), amount0)]) |
---|
9 | 12 | | if ((inv1 == inv1)) |
---|
10 | 13 | | then { |
---|
11 | 14 | | let amount1 = match inv1 { |
---|
12 | 15 | | case x: Int => |
---|
13 | 16 | | x |
---|
14 | 17 | | case _ => |
---|
15 | 18 | | throw("error while swapping") |
---|
16 | 19 | | } |
---|
17 | 20 | | if ((amount1 == amount1)) |
---|
18 | 21 | | then { |
---|
19 | | - | let inv2 = invoke(addressFromStringValue(pool1), "swap", [asset0, 0], [AttachedPayment(fromBase58String(asset1), amount1)]) |
---|
| 22 | + | let inv2 = invoke(addressFromStringValue(pool1), "swap", [asset0, 0], [AttachedPayment(getAssetBytes(asset1), amount1)]) |
---|
20 | 23 | | if ((inv2 == inv2)) |
---|
21 | 24 | | then { |
---|
22 | 25 | | let resultAmount = match inv2 { |
---|
23 | 26 | | case x: Int => |
---|
24 | 27 | | x |
---|
25 | 28 | | case _ => |
---|
26 | 29 | | throw("error while swapping") |
---|
27 | 30 | | } |
---|
28 | 31 | | if ((resultAmount == resultAmount)) |
---|
29 | | - | then [ScriptTransfer(i.caller, resultAmount, fromBase58String(asset1))] |
---|
| 32 | + | then [ScriptTransfer(i.caller, resultAmount, getAssetBytes(asset1))] |
---|
30 | 33 | | else throw("Strict value is not equal to itself.") |
---|
31 | 34 | | } |
---|
32 | 35 | | else throw("Strict value is not equal to itself.") |
---|
33 | 36 | | } |
---|
34 | 37 | | else throw("Strict value is not equal to itself.") |
---|
35 | 38 | | } |
---|
36 | 39 | | else throw("Strict value is not equal to itself.") |
---|
37 | 40 | | } |
---|
38 | 41 | | |
---|
39 | 42 | | |
---|
40 | 43 | | @Verifier(tx) |
---|
41 | 44 | | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) |
---|
42 | 45 | | |
---|