tx · 75w1197Pc7fX3iQHDABWyhKxgXxAqyZqUBrBeaAr5RTj

3Mq4LDNtBNSJicpMR5TxG89n1D9mMavMAj7:  -0.04000000 Waves

2022.04.15 16:00 [2009700] smart account 3Mq4LDNtBNSJicpMR5TxG89n1D9mMavMAj7 > SELF 0.00000000 Waves

{ "type": 13, "id": "75w1197Pc7fX3iQHDABWyhKxgXxAqyZqUBrBeaAr5RTj", "fee": 4000000, "feeAssetId": null, "timestamp": 1650027609064, "version": 1, "sender": "3Mq4LDNtBNSJicpMR5TxG89n1D9mMavMAj7", "senderPublicKey": "FJZaKJq3aMAC6bg2qfp2qgfv31a2jNRDaYaCR9TY5HP3", "proofs": [ "4wAKYYVztcW8E43uRuaVpZFqsFVDMLcoKTjBvczBFPg4nLcgJVbAjs5RQDxaeY8Kf1fW7rqp5hP1p6XJ2bwgEkAy" ], "script": null, "chainId": 84, "height": 2009700, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: E75tUB8UfyrFxqfMTpSMQJREEnex3jh7QQab5gkg1jTt Next: uaa5B71ZLk9Bp1uGkgCABVTehp3zTAi8G7VEWW4CfDM Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
2-{-# SCRIPT_TYPE ACCOUNT #-}
3-{-# CONTENT_TYPE DAPP #-}
4-let ID = base58'ET8t5TozeUrUQfMzLzVeHTVo2vmiEeu2apj3AN6zwzsG'
5-
6-let LP = base58'2nGfqMHdunJuX8jYzruMKz1e1vMNrhJtWMjHizRhB8Fk'
7-
8-let isStopped = false
9-
10-@Callable(i)
11-func stake () = {
12- let pmt = value(i.payments[0])
13- let pmtAmount = pmt.amount
14- if ((pmt.assetId != ID))
15- then throw("attach testNSBT tokens only")
16- else if (isStopped)
17- then throw("smart contract is on lock")
18- else {
19- let inTreasury = assetBalance(this, ID)
20- let totalIssued = match assetInfo(LP) {
21- case asset: Asset =>
22- asset.quantity
23- case _ =>
24- throw("Can't find asset")
25- }
26- let singleLPinValue = (((totalIssued * 100000000) / (inTreasury * 100000000)) * pmtAmount)
27- let amountToIssue = (singleLPinValue / 100000000)
28- let LPIssue = Reissue(LP, amountToIssue, true)
29- let transfer = ScriptTransfer(i.caller, amountToIssue, LP)
30-[LPIssue, transfer]
31- }
32- }
33-
34-
35-
36-@Callable(i)
37-func withdraw (amount) = {
38- let attached = i.payments[0]
39- let paymentID = i.payments[0].assetId
40- if ((paymentID != LP))
41- then throw("Attach the correct LP token")
42- else {
43- let newAmount = (attached.amount - amount)
44- if ((0 > amount))
45- then throw("Can't withdraw negative amount")
46- else if ((0 > newAmount))
47- then throw("Not enough balance")
48- else {
49- let burning = Burn(LP, amount)
50- let transfer = ScriptTransfer(i.caller, newAmount, ID)
51-[burning, transfer]
52- }
53- }
54- }
55-
56-
57-@Verifier(tx)
58-func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
59-
1+# no script

github/deemru/w8io/873ac7e 
21.13 ms