tx · 2E4hKUXiLkfp9BTaEWkovZAfwxsDm4ri41iBhMcpetHq
3P9jouNm1E3bxabva95Jxhucc3ddoWcbSXt: -0.05000000 Waves
2022.05.22 10:18 [3128047] smart account 3P9jouNm1E3bxabva95Jxhucc3ddoWcbSXt > SELF 0.00000000 Waves
{
"type": 13,
"id": "2E4hKUXiLkfp9BTaEWkovZAfwxsDm4ri41iBhMcpetHq",
"fee": 5000000,
"feeAssetId": null,
"timestamp": 1653203908660,
"version": 2,
"chainId": 87,
"sender": "3P9jouNm1E3bxabva95Jxhucc3ddoWcbSXt",
"senderPublicKey": "5MNMvyFVWBG1v57A4pvhGb5Kp8AtMZZVz1v2ajapqq7e",
"proofs": [
"65v1xWR9apoQuDFzMUQuD43p4CfaF1GwuzK3BxjresNnESe4r8gwrLB1xPBcjQG9ekvY2Km82NQ1Bw6WLhMrTija"
],
"script": "base64:AAIFAAAAAAAAAAYIAhIAEgAAAAADAAAAAARVU0ROAQAAACC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QAAAAAGZXRVU0ROAQAAACDQz7LBGSxYOzD6WF1diPCXWEhpArLlzkgyOXfI1eamcgAAAAAIaXNTdG9wZWQHAAAAAgAAAAFpAQAAAAVzdGFrZQAAAAAEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAACYW0IBQAAAANwbXQAAAAGYW1vdW50AwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAARVU0ROCQAAAgAAAAECAAAADUludmFsaWQgdG9rZW4DBQAAAAhpc1N0b3BlZAkAAAIAAAABAgAAAA9kQXBwIGlzIHN0b3BwZWQEAAAABXRvSXNzCQAAaAAAAAIFAAAAAmFtAAAAAAAAAABkBAAAAAFyCQEAAAAHUmVpc3N1ZQAAAAMFAAAABmV0VVNETgUAAAAFdG9Jc3MGBAAAAAN0cngJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAFdG9Jc3MFAAAABmV0VVNETgkABEwAAAACBQAAAAFyCQAETAAAAAIFAAAAA3RyeAUAAAADbmlsAAAAAWkBAAAAB3Vuc3Rha2UAAAAABAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAA2FtdAgFAAAAA3BtdAAAAAZhbW91bnQDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAABmV0VVNETgkAAAIAAAABAgAAABhJbnZhbGlkIHBheW1lbnQgYXR0YWNoZWQDCQAAZwAAAAIAAAAAAAAAAAAFAAAAA2FtdAkAAAIAAAABAgAAAA5JbnZhbGlkIGFtb3VudAQAAAAEdG9QQgkAAGkAAAACBQAAAANhbXQAAAAAAAAAAGQEAAAAA2JybgkBAAAABEJ1cm4AAAACBQAAAAZldFVTRE4FAAAAA2FtdAQAAAACcGIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAEdG9QQgUAAAAEVVNETgkABEwAAAACBQAAAANicm4JAARMAAAAAgUAAAACcGIFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5sFOYnQ==",
"height": 3128047,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 9ZfEVWmLwA96gEn4dPJw1sDGko577WtGL2KYGfo2sbnR
Next: 5ZARSKstubsn2Y2W9GDf7fyG3rvXw3ZfWFYvrJF96mgs
Diff:
Old | New | | Differences |
---|
24 | 24 | | } |
---|
25 | 25 | | |
---|
26 | 26 | | |
---|
| 27 | + | |
---|
| 28 | + | @Callable(i) |
---|
| 29 | + | func unstake () = { |
---|
| 30 | + | let pmt = value(i.payments[0]) |
---|
| 31 | + | let amt = pmt.amount |
---|
| 32 | + | if ((pmt.assetId != etUSDN)) |
---|
| 33 | + | then throw("Invalid payment attached") |
---|
| 34 | + | else if ((0 >= amt)) |
---|
| 35 | + | then throw("Invalid amount") |
---|
| 36 | + | else { |
---|
| 37 | + | let toPB = (amt / 100) |
---|
| 38 | + | let brn = Burn(etUSDN, amt) |
---|
| 39 | + | let pb = ScriptTransfer(i.caller, toPB, USDN) |
---|
| 40 | + | [brn, pb] |
---|
| 41 | + | } |
---|
| 42 | + | } |
---|
| 43 | + | |
---|
| 44 | + | |
---|
27 | 45 | | @Verifier(tx) |
---|
28 | 46 | | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) |
---|
29 | 47 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' |
---|
5 | 5 | | |
---|
6 | 6 | | let etUSDN = base58'F47VT8nxzUzUM8ZCyTouK8mjtVuLkAj914NRdXoCnYcq' |
---|
7 | 7 | | |
---|
8 | 8 | | let isStoped = false |
---|
9 | 9 | | |
---|
10 | 10 | | @Callable(i) |
---|
11 | 11 | | func stake () = { |
---|
12 | 12 | | let pmt = value(i.payments[0]) |
---|
13 | 13 | | let am = pmt.amount |
---|
14 | 14 | | if ((pmt.assetId != USDN)) |
---|
15 | 15 | | then throw("Invalid token") |
---|
16 | 16 | | else if (isStoped) |
---|
17 | 17 | | then throw("dApp is stopped") |
---|
18 | 18 | | else { |
---|
19 | 19 | | let toIss = (am * 100) |
---|
20 | 20 | | let r = Reissue(etUSDN, toIss, true) |
---|
21 | 21 | | let trx = ScriptTransfer(i.caller, toIss, etUSDN) |
---|
22 | 22 | | [r, trx] |
---|
23 | 23 | | } |
---|
24 | 24 | | } |
---|
25 | 25 | | |
---|
26 | 26 | | |
---|
| 27 | + | |
---|
| 28 | + | @Callable(i) |
---|
| 29 | + | func unstake () = { |
---|
| 30 | + | let pmt = value(i.payments[0]) |
---|
| 31 | + | let amt = pmt.amount |
---|
| 32 | + | if ((pmt.assetId != etUSDN)) |
---|
| 33 | + | then throw("Invalid payment attached") |
---|
| 34 | + | else if ((0 >= amt)) |
---|
| 35 | + | then throw("Invalid amount") |
---|
| 36 | + | else { |
---|
| 37 | + | let toPB = (amt / 100) |
---|
| 38 | + | let brn = Burn(etUSDN, amt) |
---|
| 39 | + | let pb = ScriptTransfer(i.caller, toPB, USDN) |
---|
| 40 | + | [brn, pb] |
---|
| 41 | + | } |
---|
| 42 | + | } |
---|
| 43 | + | |
---|
| 44 | + | |
---|
27 | 45 | | @Verifier(tx) |
---|
28 | 46 | | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) |
---|
29 | 47 | | |
---|