tx · 9Tjy8L4EeS1CuVwxnmqz39VhdjA8LAcCXaE255FtmUAs

3Mv7nXq2V2Dnn9oSkB5feRt6RxtqnPiAXNH:  -0.01400000 Waves

2022.04.08 11:40 [1999362] smart account 3Mv7nXq2V2Dnn9oSkB5feRt6RxtqnPiAXNH > SELF 0.00000000 Waves

{ "type": 13, "id": "9Tjy8L4EeS1CuVwxnmqz39VhdjA8LAcCXaE255FtmUAs", "fee": 1400000, "feeAssetId": null, "timestamp": 1649407224133, "version": 2, "chainId": 84, "sender": "3Mv7nXq2V2Dnn9oSkB5feRt6RxtqnPiAXNH", "senderPublicKey": "HJ4JLtArYaaiBiWho6gzLRbKUVM6ZVTaKmci6sgFQtEm", "proofs": [ "3Zx3w3ojkWK4EAt76iC6nz5P49yLJWr7nauHR6NXrGVTrEDRJRPgigQGGikMjeuWZE9gkNjYikmdjg2TgBw96BRd" ], "script": "base64:AAIFAAAAAAAAAAkIAhIAEgMKAQEAAAADAAAAAAJJRAEAAAAg/xBHdpoc7iAAQfoZXdECvjjJUsHBvTbctJWSuRHjmWIAAAAAAkxQAQAAACBUgJin8ZP4V+99JlgBkqGEJd4kKpy7bL9Mn0vxHVzLPwAAAAAJaXNTdG9wcGVkBwAAAAIAAAABaQEAAAAFc3Rha2UAAAAABAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAACXBtdEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAAklECQAAAgAAAAECAAAAG2F0dGFjaCB0ZXN0TlNCVCB0b2tlbnMgb25seQMFAAAACWlzU3RvcHBlZAkAAAIAAAABAgAAABlzbWFydCBjb250cmFjdCBpcyBvbiBsb2NrBAAAAAppblRyZWFzdXJ5CQAD8AAAAAIFAAAABHRoaXMFAAAAAklEBAAAAAdMUElzc3VlCQEAAAAHUmVpc3N1ZQAAAAMFAAAAAkxQBQAAAAppblRyZWFzdXJ5BgQAAAAIdHJhbnNmZXIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAKaW5UcmVhc3VyeQUAAAACTFAJAARMAAAAAgUAAAAHTFBJc3N1ZQkABEwAAAACBQAAAAh0cmFuc2ZlcgUAAAADbmlsAAAAAWkBAAAACHdpdGhkcmF3AAAAAQAAAAZhbW91bnQEAAAACGF0dGFjaGVkCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAlwYXltZW50SUQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQDCQEAAAACIT0AAAACBQAAAAlwYXltZW50SUQFAAAAAkxQCQAAAgAAAAECAAAAG0F0dGFjaCB0aGUgY29ycmVjdCBMUCB0b2tlbgQAAAAJbmV3QW1vdW50CQAAZQAAAAIIBQAAAAhhdHRhY2hlZAAAAAZhbW91bnQFAAAABmFtb3VudAMJAABmAAAAAgAAAAAAAAAAAAUAAAAGYW1vdW50CQAAAgAAAAECAAAAHkNhbid0IHdpdGhkcmF3IG5lZ2F0aXZlIGFtb3VudAMJAABmAAAAAgAAAAAAAAAAAAUAAAAJbmV3QW1vdW50CQAAAgAAAAECAAAAEk5vdCBlbm91Z2ggYmFsYW5jZQQAAAAHYnVybmluZwkBAAAABEJ1cm4AAAACBQAAAAJMUAUAAAAGYW1vdW50BAAAAAh0cmFuc2ZlcgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAluZXdBbW91bnQFAAAAAklECQAETAAAAAIFAAAAB2J1cm5pbmcJAARMAAAAAgUAAAAIdHJhbnNmZXIFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5td4SWA==", "height": 1999362, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H1GAbLtWwtqEDrp2tPAAL9AJzqPUyeavn3GmtcyWLnA4 Next: 9B7X6xuq4JbPov4SZkhnfAhNiDJyeABY3GaZxJpdT8kh Diff:
OldNewDifferences
99
1010 @Callable(i)
1111 func stake () = {
12- let pmt = i.payments[0]
12+ let pmt = value(i.payments[0])
1313 let pmtAmount = pmt.amount
1414 if ((pmt.assetId != ID))
1515 then throw("attach testNSBT tokens only")
1717 then throw("smart contract is on lock")
1818 else {
1919 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 = (inTreasury / totalIssued)
27- let amountToIssue = (pmtAmount * singleLPinValue)
28- let LPIssue = Reissue(LP, amountToIssue, true)
29- let transfer = ScriptTransfer(i.caller, amountToIssue, LP)
20+ let LPIssue = Reissue(LP, inTreasury, true)
21+ let transfer = ScriptTransfer(i.caller, inTreasury, LP)
3022 [LPIssue, transfer]
3123 }
3224 }
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 () = {
12- let pmt = i.payments[0]
12+ 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)
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 = (inTreasury / totalIssued)
27- let amountToIssue = (pmtAmount * singleLPinValue)
28- let LPIssue = Reissue(LP, amountToIssue, true)
29- let transfer = ScriptTransfer(i.caller, amountToIssue, LP)
20+ let LPIssue = Reissue(LP, inTreasury, true)
21+ let transfer = ScriptTransfer(i.caller, inTreasury, LP)
3022 [LPIssue, transfer]
3123 }
3224 }
3325
3426
3527
3628 @Callable(i)
3729 func withdraw (amount) = {
3830 let attached = i.payments[0]
3931 let paymentID = i.payments[0].assetId
4032 if ((paymentID != LP))
4133 then throw("Attach the correct LP token")
4234 else {
4335 let newAmount = (attached.amount - amount)
4436 if ((0 > amount))
4537 then throw("Can't withdraw negative amount")
4638 else if ((0 > newAmount))
4739 then throw("Not enough balance")
4840 else {
4941 let burning = Burn(LP, amount)
5042 let transfer = ScriptTransfer(i.caller, newAmount, ID)
5143 [burning, transfer]
5244 }
5345 }
5446 }
5547
5648
5749 @Verifier(tx)
5850 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5951

github/deemru/w8io/873ac7e 
85.74 ms