tx · 3savGe47d3U7XwXgguvU2yBXuU7uu9ajtiMh5xsuCubC

3Mv7nXq2V2Dnn9oSkB5feRt6RxtqnPiAXNH:  -0.01400000 Waves

2022.04.08 15:20 [1999586] smart account 3Mv7nXq2V2Dnn9oSkB5feRt6RxtqnPiAXNH > SELF 0.00000000 Waves

{ "type": 13, "id": "3savGe47d3U7XwXgguvU2yBXuU7uu9ajtiMh5xsuCubC", "fee": 1400000, "feeAssetId": null, "timestamp": 1649420403917, "version": 2, "chainId": 84, "sender": "3Mv7nXq2V2Dnn9oSkB5feRt6RxtqnPiAXNH", "senderPublicKey": "HJ4JLtArYaaiBiWho6gzLRbKUVM6ZVTaKmci6sgFQtEm", "proofs": [ "ysVb6bEfY6pifLUcdxBn8tfxqiBoKWnApeAX3B8WN8VzoyzLm5ExcVFTiULTFc9eCdVQ4KmTyq3G1E53NfnZaGp" ], "script": "base64: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", "height": 1999586, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BPgpKkmK5i76Y4ero1as8B1qttZzC7m5gcpE5avTH4rM Next: FkCE3w9EFDeKs93QUvyTxqF59wqxxnKPDL9EXfkaZ9vS Diff:
OldNewDifferences
1818 else {
1919 let inTreasury = assetBalance(this, ID)
2020 let totalIssued = IntegerEntry("6gryiTrJoLkNzBtZLVBuCyCvnxPY77TVUS2ouYYjjVTU", 100)
21- let LPIssue = Reissue(LP, pmtAmount, true)
21+ let singleLPinValue = (totalIssued.value / inTreasury)
22+ let amountToIssue = (pmtAmount * singleLPinValue)
23+ let LPIssue = Reissue(LP, amountToIssue, true)
2224 let transfer = ScriptTransfer(i.caller, pmtAmount, LP)
2325 [LPIssue, transfer]
2426 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let ID = base58'JAfMu2seKNzTVfqi5w5Pjh4kwwPTZPCEFpc2q2vDyFeh'
55
66 let LP = base58'6gryiTrJoLkNzBtZLVBuCyCvnxPY77TVUS2ouYYjjVTU'
77
88 let isStopped = false
99
1010 @Callable(i)
1111 func stake () = {
1212 let pmt = value(i.payments[0])
1313 let pmtAmount = pmt.amount
1414 if ((pmt.assetId != ID))
1515 then throw("attach testNSBT tokens only")
1616 else if (isStopped)
1717 then throw("smart contract is on lock")
1818 else {
1919 let inTreasury = assetBalance(this, ID)
2020 let totalIssued = IntegerEntry("6gryiTrJoLkNzBtZLVBuCyCvnxPY77TVUS2ouYYjjVTU", 100)
21- let LPIssue = Reissue(LP, pmtAmount, true)
21+ let singleLPinValue = (totalIssued.value / inTreasury)
22+ let amountToIssue = (pmtAmount * singleLPinValue)
23+ let LPIssue = Reissue(LP, amountToIssue, true)
2224 let transfer = ScriptTransfer(i.caller, pmtAmount, LP)
2325 [LPIssue, transfer]
2426 }
2527 }
2628
2729
2830
2931 @Callable(i)
3032 func withdraw (amount) = {
3133 let attached = i.payments[0]
3234 let paymentID = i.payments[0].assetId
3335 if ((paymentID != LP))
3436 then throw("Attach the correct LP token")
3537 else {
3638 let newAmount = (attached.amount - amount)
3739 if ((0 > amount))
3840 then throw("Can't withdraw negative amount")
3941 else if ((0 > newAmount))
4042 then throw("Not enough balance")
4143 else {
4244 let burning = Burn(LP, amount)
4345 let transfer = ScriptTransfer(i.caller, newAmount, ID)
4446 [burning, transfer]
4547 }
4648 }
4749 }
4850
4951
5052 @Verifier(tx)
5153 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5254

github/deemru/w8io/873ac7e 
27.29 ms