tx · 9yqZD7WnMwD5vhdrApMGf9YejRs7L5CHnLs9RJVPArAM
3NCdyrMGZ5jfKPu79jjNiUejWRdQtEwKduD: -0.10000000 Waves
2021.02.01 15:23 [1379094] smart account 3NCdyrMGZ5jfKPu79jjNiUejWRdQtEwKduD > SELF 0.00000000 Waves
{
"type": 13,
"id": "9yqZD7WnMwD5vhdrApMGf9YejRs7L5CHnLs9RJVPArAM",
"fee": 10000000,
"feeAssetId": null,
"timestamp": 1612182241914,
"version": 2,
"chainId": 84,
"sender": "3NCdyrMGZ5jfKPu79jjNiUejWRdQtEwKduD",
"senderPublicKey": "GHCcpQWhq3KPA8MHcLKffvcHoJFXk6bdo67cHXjbpKy1",
"proofs": [
"27Fjpx3sJPLXAEJ5UdJwA74hwa9mkEo5QZGYSdMbqozLFcZVot8yswuY6rmhqi6f5afGjSYQyufiy1mrhJEWw5pj"
],
"script": "base64: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",
"height": 1379094,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 7kx5uEjxh9obA1MBX9tafqqCHdETgEJdAwhBr8nBejY3
Next: 9ABMTRP1HPMDzPZ3Cwpkvv2osy3AqKV6ZAMqcVp3jipL
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 4 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | | - | func foldFunc (sum,e) = if (if (!(isDefined(e.assetId))) |
---|
5 | | - | then true |
---|
6 | | - | else (e.assetId != base58'2RJawE14PWhu2XYg1zsmDM46K595DdA2QQHXg9avsrTU')) |
---|
7 | | - | then throw("Accept only BTFC") |
---|
| 4 | + | func acceptBtfc (sum,e) = if (isDefined(e.assetId)) |
---|
| 5 | + | then throw("BTFC<->WAVES Swap accepts only BTFC") |
---|
8 | 6 | | else (sum + e.amount) |
---|
9 | 7 | | |
---|
10 | 8 | | |
---|
| 9 | + | func acceptWaves (sum,e) = if ((e.assetId != base58'2RJawE14PWhu2XYg1zsmDM46K595DdA2QQHXg9avsrTU')) |
---|
| 10 | + | then throw("WAVES<->BTFC Swap accepts only WAVES") |
---|
| 11 | + | else (sum + e.amount) |
---|
| 12 | + | |
---|
| 13 | + | |
---|
| 14 | + | let WavesPerBtfc = 2 |
---|
| 15 | + | |
---|
11 | 16 | | @Callable(i) |
---|
12 | | - | func swap () = { |
---|
| 17 | + | func FromBtfcToWaves () = { |
---|
13 | 18 | | let sum = { |
---|
14 | | - | let $list322354 = i.payments |
---|
15 | | - | let $size322354 = size($list322354) |
---|
16 | | - | let $acc0322354 = 0 |
---|
17 | | - | if (($size322354 == 0)) |
---|
18 | | - | then $acc0322354 |
---|
| 19 | + | let $list505539 = i.payments |
---|
| 20 | + | let $size505539 = size($list505539) |
---|
| 21 | + | let $acc0505539 = 0 |
---|
| 22 | + | if (($size505539 == 0)) |
---|
| 23 | + | then $acc0505539 |
---|
19 | 24 | | else { |
---|
20 | | - | let $acc1322354 = foldFunc($acc0322354, $list322354[0]) |
---|
21 | | - | if (($size322354 == 1)) |
---|
22 | | - | then $acc1322354 |
---|
| 25 | + | let $acc1505539 = acceptBtfc($acc0505539, $list505539[0]) |
---|
| 26 | + | if (($size505539 == 1)) |
---|
| 27 | + | then $acc1505539 |
---|
23 | 28 | | else { |
---|
24 | | - | let $acc2322354 = foldFunc($acc1322354, $list322354[1]) |
---|
25 | | - | if (($size322354 == 2)) |
---|
26 | | - | then $acc2322354 |
---|
| 29 | + | let $acc2505539 = acceptBtfc($acc1505539, $list505539[1]) |
---|
| 30 | + | if (($size505539 == 2)) |
---|
| 31 | + | then $acc2505539 |
---|
27 | 32 | | else { |
---|
28 | | - | let $acc3322354 = foldFunc($acc2322354, $list322354[2]) |
---|
| 33 | + | let $acc3505539 = acceptBtfc($acc2505539, $list505539[2]) |
---|
29 | 34 | | throw("List size exceed 2") |
---|
30 | 35 | | } |
---|
31 | 36 | | } |
---|
32 | 37 | | } |
---|
33 | 38 | | } |
---|
34 | | - | [ScriptTransfer(Address(i.caller.bytes), (sum * 2), Unit())] |
---|
| 39 | + | [ScriptTransfer(Address(i.caller.bytes), (sum * WavesPerBtfc), Unit())] |
---|
| 40 | + | } |
---|
| 41 | + | |
---|
| 42 | + | |
---|
| 43 | + | |
---|
| 44 | + | @Callable(i) |
---|
| 45 | + | func FromWavesToBtfc () = { |
---|
| 46 | + | let sum = { |
---|
| 47 | + | let $list674709 = i.payments |
---|
| 48 | + | let $size674709 = size($list674709) |
---|
| 49 | + | let $acc0674709 = 0 |
---|
| 50 | + | if (($size674709 == 0)) |
---|
| 51 | + | then $acc0674709 |
---|
| 52 | + | else { |
---|
| 53 | + | let $acc1674709 = acceptWaves($acc0674709, $list674709[0]) |
---|
| 54 | + | if (($size674709 == 1)) |
---|
| 55 | + | then $acc1674709 |
---|
| 56 | + | else { |
---|
| 57 | + | let $acc2674709 = acceptWaves($acc1674709, $list674709[1]) |
---|
| 58 | + | if (($size674709 == 2)) |
---|
| 59 | + | then $acc2674709 |
---|
| 60 | + | else { |
---|
| 61 | + | let $acc3674709 = acceptWaves($acc2674709, $list674709[2]) |
---|
| 62 | + | throw("List size exceed 2") |
---|
| 63 | + | } |
---|
| 64 | + | } |
---|
| 65 | + | } |
---|
| 66 | + | } |
---|
| 67 | + | [ScriptTransfer(Address(i.caller.bytes), (sum / WavesPerBtfc), Unit())] |
---|
35 | 68 | | } |
---|
36 | 69 | | |
---|
37 | 70 | | |
---|