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:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# 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")
86 else (sum + e.amount)
97
108
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+
1116 @Callable(i)
12-func swap () = {
17+func FromBtfcToWaves () = {
1318 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
1924 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
2328 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
2732 else {
28- let $acc3322354 = foldFunc($acc2322354, $list322354[2])
33+ let $acc3505539 = acceptBtfc($acc2505539, $list505539[2])
2934 throw("List size exceed 2")
3035 }
3136 }
3237 }
3338 }
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())]
3568 }
3669
3770

github/deemru/w8io/3ef1775 
38.18 ms