tx · BG4k9JGedSbTfMmd43MsDer4cnGBHv54hoAksapcjqaw 3MyYckPLvxVKaoywB9DyoUQpy4rPbG44W2G: -0.00200000 Waves 2022.06.21 13:57 [2106062] smart account 3MyYckPLvxVKaoywB9DyoUQpy4rPbG44W2G > SELF 0.00000000 Waves
{ "type": 13, "id": "BG4k9JGedSbTfMmd43MsDer4cnGBHv54hoAksapcjqaw", "fee": 200000, "feeAssetId": null, "timestamp": 1655809115403, "version": 2, "chainId": 84, "sender": "3MyYckPLvxVKaoywB9DyoUQpy4rPbG44W2G", "senderPublicKey": "GSE3xef7yPJM86RK98TTRpNp7C67yeMHAkciapPuU56K", "proofs": [ "5NWVBnAJpaXXbxGW5BXYNZR3kkRbUdtPFwqmx68F6sDLhbP12BxLB3CuaxNnMcbEd6w5WVQqUmGsXxVsLMquEyW" ], "script": "base64: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", "height": 2106062, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: EsReM4XWYiefaggUJevHyUvvpKGRBhqnpWutAe9U8Fw4 Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let tw = base58'3MuepBtBCjoxHzt6z8cSKhcg7hps7AR9DoL' | |
5 | + | ||
6 | + | let BA = base58'DatazKNzkW2dr3r2ZGCCYWoy52JV5pcZfrRNPQgKh9ai' | |
7 | + | ||
8 | + | let TCI = base58'DohoSLuGMXvefNR5eZmQbmas5amzdCkNY6DmfqgjfZ7q' | |
9 | + | ||
10 | + | let isStopped = false | |
11 | + | ||
12 | + | @Callable(i) | |
13 | + | func stake () = { | |
14 | + | let pmt = value(i.payments[0]) | |
15 | + | let pmtAmount = pmt.amount | |
16 | + | if ((pmt.assetId != BA)) | |
17 | + | then throw("You can stake sNSBT only") | |
18 | + | else if (isStopped) | |
19 | + | then throw("smart contract is on lock") | |
20 | + | else { | |
21 | + | let inTreasury = assetBalance(this, BA) | |
22 | + | let totalIssued = match assetInfo(TCI) { | |
23 | + | case asset: Asset => | |
24 | + | asset.quantity | |
25 | + | case _ => | |
26 | + | throw("Can't find asset") | |
27 | + | } | |
28 | + | let treasury = (inTreasury - pmtAmount) | |
29 | + | let singleTCIinValue = fraction(totalIssued, 100000000, treasury) | |
30 | + | let amountToIssue = fraction(pmtAmount, singleTCIinValue, 100000000) | |
31 | + | let TCIIssue = Reissue(TCI, amountToIssue, true) | |
32 | + | let transfer = ScriptTransfer(i.caller, amountToIssue, TCI) | |
33 | + | [TCIIssue, transfer] | |
34 | + | } | |
35 | + | } | |
36 | + | ||
37 | + | ||
38 | + | ||
39 | + | @Callable(i) | |
40 | + | func withdraw () = { | |
41 | + | let w = value(i.payments[0]) | |
42 | + | let amount = w.amount | |
43 | + | let balance = assetBalance(i.caller, TCI) | |
44 | + | if ((w.assetId != TCI)) | |
45 | + | then throw("sdasda") | |
46 | + | else if ((0 >= amount)) | |
47 | + | then throw("Can't withdraw 0 or negative ammount") | |
48 | + | else if ((0 >= balance)) | |
49 | + | then throw("Unsuficient account balance") | |
50 | + | else { | |
51 | + | let TCIAmount = match assetInfo(TCI) { | |
52 | + | case q: Asset => | |
53 | + | q.quantity | |
54 | + | case _ => | |
55 | + | 0 | |
56 | + | } | |
57 | + | let vp = fraction(assetBalance(this, BA), 100000000, TCIAmount) | |
58 | + | let toRep = fraction(vp, amount, 100000000) | |
59 | + | let tc = fraction(toRep, 100000000, 10000000000) | |
60 | + | let brn = Burn(TCI, amount) | |
61 | + | let trb = (toRep - tc) | |
62 | + | let trsf = ScriptTransfer(i.caller, trb, BA) | |
63 | + | let ttr = ScriptTransfer(Address(tw), tc, BA) | |
64 | + | [brn, trsf, ttr] | |
65 | + | } | |
66 | + | } | |
67 | + | ||
68 | + | ||
69 | + | @Verifier(tx) | |
70 | + | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
71 | + |
github/deemru/w8io/026f985 13.74 ms ◑