tx · Apok88VcX7XcKyYvs9daCBPLVbJD5vNiVt2jp9UgH2xb 3Mu2wovhHBdYWybGjERmbj75ebjG1NPXpwd: -0.01000000 Waves 2022.11.05 14:01 [2303709] smart account 3Mu2wovhHBdYWybGjERmbj75ebjG1NPXpwd > SELF 0.00000000 Waves
{ "type": 13, "id": "Apok88VcX7XcKyYvs9daCBPLVbJD5vNiVt2jp9UgH2xb", "fee": 1000000, "feeAssetId": null, "timestamp": 1667645418801, "version": 2, "chainId": 84, "sender": "3Mu2wovhHBdYWybGjERmbj75ebjG1NPXpwd", "senderPublicKey": "ARRCaw7QZhe5ciajz2pLoRUrB3GLdo6aSPdDC1ri51D6", "proofs": [ "51LTuiQHbhsuv1NEHtK4AQqUZRtMCGMiNCvxnYn5rDHz7u4PT3YeqrecpYdWzbj1e7Nhd4qhzZARsdeLWNYPbHR1" ], "script": "base64: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", "height": 2303709, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 6Yn6KzBjbH1Q3qX5csfXvQDRUaypuRug4aEVuz2u4VrA Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let precision = 10000000000 | |
5 | + | ||
6 | + | @Callable(i) | |
7 | + | func init () = { | |
8 | + | let sWaves = Issue("sWaves", "", 0, 8, true, unit, 0) | |
9 | + | let sWavesAssetId = calculateAssetId(sWaves) | |
10 | + | [StringEntry("sWavesAssetId", toBase58String(sWavesAssetId)), IntegerEntry("ratio", precision), sWaves] | |
11 | + | } | |
12 | + | ||
13 | + | ||
14 | + | ||
15 | + | @Callable(i) | |
16 | + | func stake () = { | |
17 | + | let payment = i.payments[0] | |
18 | + | if ((payment.assetId != unit)) | |
19 | + | then throw("Only WAVES suppoerted") | |
20 | + | else if ((size(i.payments) != 1)) | |
21 | + | then throw("Wrong payments amount") | |
22 | + | else { | |
23 | + | let ratio = getIntegerValue("ratio") | |
24 | + | let toReissue = ((payment.amount * precision) / ratio) | |
25 | + | let sWavesAssetId = fromBase58String(getStringValue("sWavesAssetId")) | |
26 | + | [Reissue(sWavesAssetId, toReissue, true), ScriptTransfer(i.caller, 1, sWavesAssetId)] | |
27 | + | } | |
28 | + | } | |
29 | + | ||
30 | + | ||
31 | + | ||
32 | + | @Callable(i) | |
33 | + | func unstake () = { | |
34 | + | let payment = i.payments[0] | |
35 | + | let sWavesAssetId = fromBase58String(getStringValue("sWavesAssetId")) | |
36 | + | if ((payment.assetId != sWavesAssetId)) | |
37 | + | then throw("Only sWAVES suppoerted") | |
38 | + | else if ((size(i.payments) != 1)) | |
39 | + | then throw("Wrong payments amount") | |
40 | + | else { | |
41 | + | let ratio = getIntegerValue("ratio") | |
42 | + | let toTransfer = ((payment.amount * ratio) / precision) | |
43 | + | let assetId = getStringValue("internalAssetId") | |
44 | + | [Burn(sWavesAssetId, payment.amount), ScriptTransfer(i.caller, toTransfer, unit)] | |
45 | + | } | |
46 | + | } | |
47 | + | ||
48 | + | ||
49 | + | @Verifier(tx) | |
50 | + | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
51 | + |
github/deemru/w8io/873ac7e 13.35 ms ◑![]()