tx · 6RFeKNwx4Qr3hWNuVBxYdpYCRK1adGWJp2jn9qUYdYwQ

3Mq4LDNtBNSJicpMR5TxG89n1D9mMavMAj7:  -0.04000000 Waves

2022.04.15 15:54 [2009695] smart account 3Mq4LDNtBNSJicpMR5TxG89n1D9mMavMAj7 > SELF 0.00000000 Waves

{ "type": 13, "id": "6RFeKNwx4Qr3hWNuVBxYdpYCRK1adGWJp2jn9qUYdYwQ", "fee": 4000000, "feeAssetId": null, "timestamp": 1650027260114, "version": 1, "sender": "3Mq4LDNtBNSJicpMR5TxG89n1D9mMavMAj7", "senderPublicKey": "FJZaKJq3aMAC6bg2qfp2qgfv31a2jNRDaYaCR9TY5HP3", "proofs": [ "4683eCCsMWMqRvUm7F7eUgYdwskvYzNwEVo3ebspB8MioWPYX8kDRkvzPTqQSYfFznKyfZC2wbiPNAVCicV8Rat" ], "script": null, "chainId": 84, "height": 2009695, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HPFLofcHhv7RV3dgj5CaMYiKYKB1Tj3fNiNeWhvs5A6M Next: 14eTN7BkapEHnSXWQ7C6WyGN1xy1JsDUnjYXmFpEuaGm 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)) * 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/c3f4982 
16.74 ms