tx · DE3hUHkYx9H8rFQc7mXW6UmeaHTsVGVQtjH3YBcvoHfa

3PPK7G7BQf3yWQdXapuBhEhYkaqNBfcvNtk:  -0.01000000 Waves

2023.02.02 11:22 [3497286] smart account 3PPK7G7BQf3yWQdXapuBhEhYkaqNBfcvNtk > SELF 0.00000000 Waves

{ "type": 13, "id": "DE3hUHkYx9H8rFQc7mXW6UmeaHTsVGVQtjH3YBcvoHfa", "fee": 1000000, "feeAssetId": null, "timestamp": 1675326154541, "version": 2, "chainId": 87, "sender": "3PPK7G7BQf3yWQdXapuBhEhYkaqNBfcvNtk", "senderPublicKey": "A7NMFMzFrP68kDc9YuQ5eyn4AvoXyFaRuanTKhzinA7k", "proofs": [ "2F3wNhAq61oLFaqDYmKJ9HrA6r4Y3kaGa2Cc4W3Wy3fwtSWpN3hWWfz6VhDMf5PJfXQLUAJQf5sfuCLQbpmsDZhy" ], "script": "base64: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", "height": 3497286, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EK6tfbE8VauEQgMCo1Hc8gaho8dBdGytmu7uYAZvdfLZ Next: none Diff:
OldNewDifferences
3737 let TCIIssue = Reissue(TCI, amountToIssue, true)
3838 let transfer = ScriptTransfer(i.caller, amountToIssue, TCI)
3939 let transferFee = ScriptTransfer(Address(tw), fee, BA)
40-[TCIIssue, transfer]
40+[TCIIssue, transfer, transferFee]
4141 }
4242 }
4343
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let tw = base58'3P93R2GBkTGVehRPhytHr7sdxYww93jkbhm'
55
66 let BA = base58'8wUmN9Y15f3JR4KZfE81XLXpkdgwnqoBNG6NmocZpKQx'
77
88 let TCI = base58'4CDoUKSAtLTwVTpdxFu6EcbafiCDZUSBXrWGjrAcCPoL'
99
1010 let isStopped = false
1111
1212 let multi8 = 100000000
1313
1414 let multi10 = 10000000000
1515
1616 @Callable(i)
1717 func stake () = {
1818 let pmt = value(i.payments[0])
1919 let pmtAmount = pmt.amount
2020 if ((pmt.assetId != BA))
2121 then throw("You can stake sNSBT only")
2222 else if (isStopped)
2323 then throw("smart contract is on lock")
2424 else {
2525 let inTreasury = assetBalance(this, BA)
2626 let totalIssued = match assetInfo(TCI) {
2727 case asset: Asset =>
2828 asset.quantity
2929 case _ =>
3030 throw("Can't find asset")
3131 }
3232 let treasury = (inTreasury - pmtAmount)
3333 let singleTCIinValue = fraction(totalIssued, 100000000, treasury)
3434 let fee = fraction(pmtAmount, multi8, multi10)
3535 let depositBalanceAfterFee = (pmtAmount - fee)
3636 let amountToIssue = fraction(depositBalanceAfterFee, singleTCIinValue, 100000000)
3737 let TCIIssue = Reissue(TCI, amountToIssue, true)
3838 let transfer = ScriptTransfer(i.caller, amountToIssue, TCI)
3939 let transferFee = ScriptTransfer(Address(tw), fee, BA)
40-[TCIIssue, transfer]
40+[TCIIssue, transfer, transferFee]
4141 }
4242 }
4343
4444
4545
4646 @Callable(i)
4747 func withdraw () = {
4848 let w = value(i.payments[0])
4949 let amount = w.amount
5050 let balance = assetBalance(i.caller, TCI)
5151 if ((w.assetId != TCI))
5252 then throw("sdasda")
5353 else if ((0 >= amount))
5454 then throw("Can't withdraw 0 or negative ammount")
5555 else if ((0 >= balance))
5656 then throw("Unsuficient account balance")
5757 else {
5858 let TCIAmount = match assetInfo(TCI) {
5959 case q: Asset =>
6060 q.quantity
6161 case _ =>
6262 0
6363 }
6464 let vp = fraction(assetBalance(this, BA), multi8, TCIAmount)
6565 let toRep = fraction(vp, amount, multi8)
6666 let tc = fraction(toRep, multi8, multi10)
6767 let brn = Burn(TCI, amount)
6868 let trb = (toRep - tc)
6969 let trsf = ScriptTransfer(i.caller, trb, BA)
7070 let ttr = ScriptTransfer(Address(tw), tc, BA)
7171 [brn, trsf, ttr]
7272 }
7373 }
7474
7575
7676 @Verifier(tx)
7777 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
7878

github/deemru/w8io/6500d08 
47.34 ms