tx · B66eFmhc8dwmWKc2iPNKMSfUAEs7vXYAMAPvr82sW3L

3Mxwpryb8c7kdSq4zXHEk2NUxL1ypRQsfV8:  -0.05000000 Waves

2020.07.27 13:20 [1105871] smart account 3Mxwpryb8c7kdSq4zXHEk2NUxL1ypRQsfV8 > SELF 0.00000000 Waves

{ "type": 13, "id": "B66eFmhc8dwmWKc2iPNKMSfUAEs7vXYAMAPvr82sW3L", "fee": 5000000, "feeAssetId": null, "timestamp": 1595845282426, "version": 1, "sender": "3Mxwpryb8c7kdSq4zXHEk2NUxL1ypRQsfV8", "senderPublicKey": "6ASPwCnszmpHQsH3RTy32YGmQBDm7fSwZndCfc7N245Y", "proofs": [ "3mncJDhFADHRrF2qezYwB3z19yheU2oLtoD1w5kk3pTkoopCCbuZfqxUEMuUvmXCs73LLc9qAjdb8K8roZnU3q3w" ], "script": "base64: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", "chainId": 84, "height": 1105871, "spentComplexity": 0 } View: original | compacted Prev: GDYRTzd946C6vTKDLxCTDaJK5MEm8dcGy7xwi9i77nBw Next: 3zw9zuMTnNyqy8xqZRj9Bu8RDXgK9hQ3h1cPdcsjJutm Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func startSwap (inv) = {
5- let swapLimit = wavesBalance(this)
4+let assetId = base58'CEw1NLJ2mUmrHhLY99PUc6RqsJfduSvSPFzJqTYGmHCD'
5+
6+let dappAddress = Address(base58'3Mxwpryb8c7kdSq4zXHEk2NUxL1ypRQsfV8')
7+
8+func startSwapToSatoshi (inv) = {
69 let payment = extract(inv.payment)
7- let assetId = base58'CEw1NLJ2mUmrHhLY99PUc6RqsJfduSvSPFzJqTYGmHCD'
10+ let swapLimitAsset = assetBalance(dappAddress, assetId)
811 if (!(isDefined(inv.payment)))
912 then throw("Should be with Payment in Waves")
1013 else if (isDefined(payment.assetId))
1114 then throw("Payment should be in Waves")
12- else if ((payment.amount > swapLimit))
13- then throw(("Payment should be less than " + toString(swapLimit)))
15+ else if ((payment.amount > (swapLimitAsset * 100000000)))
16+ then throw(("Payment should be less than " + toString(swapLimitAsset)))
1417 else {
1518 let depoTransfer = TransferSet([ScriptTransfer(inv.caller, (payment.amount * 100000000), assetId)])
1619 let writeLastTx = WriteSet([DataEntry("lastDeposit", inv.transactionId)])
1922 }
2023
2124
25+func startSwapToBase (inv) = {
26+ let payment = extract(inv.payment)
27+ let swapLimit = wavesBalance(this)
28+ if (!(isDefined(inv.payment)))
29+ then throw("Should be with Payment in Waves")
30+ else if (isDefined(payment.assetId))
31+ then throw("Payment should be in Waves")
32+ else if ((payment.amount > (swapLimit / 100000000)))
33+ then throw(("Payment should be less than " + toString(swapLimit)))
34+ else {
35+ let depoTransfer = TransferSet([ScriptTransfer(inv.caller, (payment.amount / 100000000), unit)])
36+ let writeLastTx = WriteSet([DataEntry("lastWd", inv.transactionId)])
37+ ScriptResult(writeLastTx, depoTransfer)
38+ }
39+ }
40+
41+
2242 @Callable(inv)
23-func swap () = startSwap(inv)
43+func swapSatoshi () = startSwapToSatoshi(inv)
2444
2545
2646
2747 @Callable(inv)
28-func default () = startSwap(inv)
48+func swapWaves () = startSwapToBase(inv)
49+
50+
51+
52+@Callable(inv)
53+func default () = startSwapToSatoshi(inv)
2954
3055
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func startSwap (inv) = {
5- let swapLimit = wavesBalance(this)
4+let assetId = base58'CEw1NLJ2mUmrHhLY99PUc6RqsJfduSvSPFzJqTYGmHCD'
5+
6+let dappAddress = Address(base58'3Mxwpryb8c7kdSq4zXHEk2NUxL1ypRQsfV8')
7+
8+func startSwapToSatoshi (inv) = {
69 let payment = extract(inv.payment)
7- let assetId = base58'CEw1NLJ2mUmrHhLY99PUc6RqsJfduSvSPFzJqTYGmHCD'
10+ let swapLimitAsset = assetBalance(dappAddress, assetId)
811 if (!(isDefined(inv.payment)))
912 then throw("Should be with Payment in Waves")
1013 else if (isDefined(payment.assetId))
1114 then throw("Payment should be in Waves")
12- else if ((payment.amount > swapLimit))
13- then throw(("Payment should be less than " + toString(swapLimit)))
15+ else if ((payment.amount > (swapLimitAsset * 100000000)))
16+ then throw(("Payment should be less than " + toString(swapLimitAsset)))
1417 else {
1518 let depoTransfer = TransferSet([ScriptTransfer(inv.caller, (payment.amount * 100000000), assetId)])
1619 let writeLastTx = WriteSet([DataEntry("lastDeposit", inv.transactionId)])
1720 ScriptResult(writeLastTx, depoTransfer)
1821 }
1922 }
2023
2124
25+func startSwapToBase (inv) = {
26+ let payment = extract(inv.payment)
27+ let swapLimit = wavesBalance(this)
28+ if (!(isDefined(inv.payment)))
29+ then throw("Should be with Payment in Waves")
30+ else if (isDefined(payment.assetId))
31+ then throw("Payment should be in Waves")
32+ else if ((payment.amount > (swapLimit / 100000000)))
33+ then throw(("Payment should be less than " + toString(swapLimit)))
34+ else {
35+ let depoTransfer = TransferSet([ScriptTransfer(inv.caller, (payment.amount / 100000000), unit)])
36+ let writeLastTx = WriteSet([DataEntry("lastWd", inv.transactionId)])
37+ ScriptResult(writeLastTx, depoTransfer)
38+ }
39+ }
40+
41+
2242 @Callable(inv)
23-func swap () = startSwap(inv)
43+func swapSatoshi () = startSwapToSatoshi(inv)
2444
2545
2646
2747 @Callable(inv)
28-func default () = startSwap(inv)
48+func swapWaves () = startSwapToBase(inv)
49+
50+
51+
52+@Callable(inv)
53+func default () = startSwapToSatoshi(inv)
2954
3055

github/deemru/w8io/169f3d6 
38.61 ms