tx · FPe1FQqPSccpKvP6cHvZiRpDAMFZhNuijQaG6AYoEix4

3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t:  -0.01400000 Waves

2022.05.31 15:05 [2075823] smart account 3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t > SELF 0.00000000 Waves

{ "type": 13, "id": "FPe1FQqPSccpKvP6cHvZiRpDAMFZhNuijQaG6AYoEix4", "fee": 1400000, "feeAssetId": null, "timestamp": 1653998758673, "version": 2, "chainId": 84, "sender": "3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t", "senderPublicKey": "Cn7Ky2YAx4p6dx8e7Mcb9rTQ2Z5TD9MrRbLA8AXDsumJ", "proofs": [ "3B1Z6Y9h8VmAfKb1C2y1AMzmfJr7jnga4jHWMA2zbV5HKWdNR92QZXtx6V3CmLB3N1XwqbebBWHMiP2YnAJBguTu" ], "script": "base64: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", "height": 2075823, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AhdhT2si4bn87n4VEjqhFRkNYrpkcVRN1h8spF3LCTr3 Next: 5ac6o8dZBWM8XCBpqSWVg11sjZwh23pi4bfFPbfYcU9K Diff:
OldNewDifferences
4141 let w = value(i.payments[0])
4242 let a = w.amount
4343 let b = assetBalance(i.caller, TCI)
44- let p = 1000000000
44+ let p = 10000000000
4545 if ((w.assetId != TCI))
4646 then throw("sdasda")
4747 else if ((0 >= a))
4949 else if ((0 >= b))
5050 then throw("Unsuficient account balance")
5151 else {
52- let baAmount = match assetInfo(BA) {
52+ let TCIAmount = match assetInfo(TCI) {
5353 case q: Asset =>
5454 q.quantity
5555 case _ =>
5656 0
5757 }
58- let vp = fraction(assetBalance(this, BA), 100000000, baAmount)
58+ let vp = fraction(assetBalance(this, BA), 100000000, TCIAmount)
5959 let toRep = fraction(vp, a, 100000000)
6060 let tc = (toRep / p)
6161 let brn = Burn(TCI, a)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let BA = base58'HJuQkYNhyjPcYGHxMLsmRq7bToqTc7uExWtJnVH5xSBm'
55
66 let TCI = base58'2oTdBoVmVmzU1PT9yRuyfbVfmkvTFQoy7C8du6Lg9X3Z'
77
88 let tw = base58'3Mv7nXq2V2Dnn9oSkB5feRt6RxtqnPiAXNH'
99
1010 let isStopped = false
1111
1212 @Callable(i)
1313 func stake () = {
1414 let pmt = value(i.payments[0])
1515 let pmtAmount = pmt.amount
1616 if ((pmt.assetId != BA))
1717 then throw("You can stake USDN only")
1818 else if (isStopped)
1919 then throw("smart contract is on lock")
2020 else {
2121 let inTreasury = assetBalance(this, BA)
2222 let totalIssued = match assetInfo(TCI) {
2323 case asset: Asset =>
2424 asset.quantity
2525 case _ =>
2626 throw("Can't find asset")
2727 }
2828 let treasury = (inTreasury - pmtAmount)
2929 let singleTCIinValue = fraction(totalIssued, 100000000, treasury)
3030 let amountToIssue = fraction(pmtAmount, singleTCIinValue, 100000000)
3131 let TCIIssue = Reissue(TCI, amountToIssue, true)
3232 let transfer = ScriptTransfer(i.caller, amountToIssue, TCI)
3333 [TCIIssue, transfer]
3434 }
3535 }
3636
3737
3838
3939 @Callable(i)
4040 func withdraw () = {
4141 let w = value(i.payments[0])
4242 let a = w.amount
4343 let b = assetBalance(i.caller, TCI)
44- let p = 1000000000
44+ let p = 10000000000
4545 if ((w.assetId != TCI))
4646 then throw("sdasda")
4747 else if ((0 >= a))
4848 then throw("Can't withdraw 0 or negative ammount")
4949 else if ((0 >= b))
5050 then throw("Unsuficient account balance")
5151 else {
52- let baAmount = match assetInfo(BA) {
52+ let TCIAmount = match assetInfo(TCI) {
5353 case q: Asset =>
5454 q.quantity
5555 case _ =>
5656 0
5757 }
58- let vp = fraction(assetBalance(this, BA), 100000000, baAmount)
58+ let vp = fraction(assetBalance(this, BA), 100000000, TCIAmount)
5959 let toRep = fraction(vp, a, 100000000)
6060 let tc = (toRep / p)
6161 let brn = Burn(TCI, a)
6262 let trsf = ScriptTransfer(i.caller, (toRep - tc), BA)
6363 let ttr = ScriptTransfer(Address(tw), tc, BA)
6464 [brn, trsf, ttr]
6565 }
6666 }
6767
6868
6969 @Verifier(tx)
7070 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
7171

github/deemru/w8io/3ef1775 
33.94 ms