tx · 4J1eHmA8ZWYtTUkhuxsnp9bgD1Eh12u2zs5W85L2XnsU

3N2JqvJD8pdx313SRuTASv6YKbGuiXZLDfq:  -0.05000000 Waves

2023.07.18 16:28 [2671378] smart account 3N2JqvJD8pdx313SRuTASv6YKbGuiXZLDfq > SELF 0.00000000 Waves

{ "type": 13, "id": "4J1eHmA8ZWYtTUkhuxsnp9bgD1Eh12u2zs5W85L2XnsU", "fee": 5000000, "feeAssetId": null, "timestamp": 1689686928843, "version": 2, "chainId": 84, "sender": "3N2JqvJD8pdx313SRuTASv6YKbGuiXZLDfq", "senderPublicKey": "9dYP9xuwfjpfBMUi6sqShPcPZ6ATDM3ZXZ7aVL7qYqQ1", "proofs": [ "4EJLu2SVwJAvbFNtKQpDWpEVVoVLgQ8yTz6MuKcdHj7uBJctvdSpKXStfFJoRRDK2p5P6AAbu4HLnBtS6e5NGKjR" ], "script": "base64:BgKOAQgCEgASABIAEgMKAQESACIKQVNTRVRfTkFNRSILREVTQ1JJUFRJT04iCERFQ0lNQUxTIglQUkVDSVNJT04iBGRpdnAiAl94IgJfeSIEbXVscCIBaSIFYXNzZXQiB2Fzc2V0SWQiB3BheW1lbnQiBHJhdGUiBmFtb3VudCIFX3JhdGUiAnR4IgZ2ZXJpZnkGAAFhAgZzV2F2ZXMAAWICEXNXYXZlcyBhc3NldCBtb2NrAAFjAAgAAWQAgKCUpY0dAQFlAgFmAWcJAG4EBQFmBQFkBQFnBQhIQUxGRVZFTgEBaAIBZgFnCQBuBAUBZgUBZwUBZAUISEFMRkVWRU4FAWkBCmluaXRpYWxpemUABAFqCQDDCAcFAWEFAWIAAAUBYwYFBHVuaXQAAAQBawkAuAgBBQFqCQDMCAIJAQtTdHJpbmdFbnRyeQICBUFTU0VUCQDYBAEFAWsJAMwIAgkBDEludGVnZXJFbnRyeQICBFJBVEUFAWQJAMwIAgUBagUDbmlsAWkBB2RlcG9zaXQABAFsCQCRAwIIBQFpCHBheW1lbnRzAAAEAWsJANkEAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwIFQVNTRVQEAW0JARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCBFJBVEUEAW4JAQFlAggFAWwGYW1vdW50BQFtCQDMCAIJAQdSZWlzc3VlAwUBawUBbgYJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQFuBQFrBQNuaWwBaQEId2l0aGRyYXcABAFsCQCRAwIIBQFpCHBheW1lbnRzAAAEAWsJANkEAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwIFQVNTRVQEAW0JARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCBFJBVEUEAW4JAQFoAggFAWwGYW1vdW50BQFtCQDMCAIJAQRCdXJuAgUBawgFAWwGYW1vdW50CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUBbgUEdW5pdAUDbmlsAWkBB3NldFJhdGUBAW8JAMwIAgkBDEludGVnZXJFbnRyeQICBFJBVEUFAW8FA25pbAFpAQdnZXRSYXRlAAQBbQkApAMBCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAgRSQVRFCQCUCgIFA25pbAUBbQEBcAEBcQAJAPQDAwgFAXAJYm9keUJ5dGVzCQCRAwIIBQFwBnByb29mcwAACAUBcA9zZW5kZXJQdWJsaWNLZXkmDcyo", "height": 2671378, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let ASSET_NAME = "sWaves"
5+
6+let DESCRIPTION = "sWaves asset mock"
7+
8+let DECIMALS = 8
9+
10+let PRECISION = 1000000000000
11+
12+func divp (_x,_y) = fraction(_x, PRECISION, _y, HALFEVEN)
13+
14+
15+func mulp (_x,_y) = fraction(_x, _y, PRECISION, HALFEVEN)
16+
17+
18+@Callable(i)
19+func initialize () = {
20+ let asset = Issue(ASSET_NAME, DESCRIPTION, 0, DECIMALS, true, unit, 0)
21+ let assetId = calculateAssetId(asset)
22+[StringEntry("ASSET", toBase58String(assetId)), IntegerEntry("RATE", PRECISION), asset]
23+ }
24+
25+
26+
27+@Callable(i)
28+func deposit () = {
29+ let payment = i.payments[0]
30+ let assetId = fromBase58String(getStringValue(this, "ASSET"))
31+ let rate = getIntegerValue(this, "RATE")
32+ let amount = divp(payment.amount, rate)
33+[Reissue(assetId, amount, true), ScriptTransfer(i.caller, amount, assetId)]
34+ }
35+
36+
37+
38+@Callable(i)
39+func withdraw () = {
40+ let payment = i.payments[0]
41+ let assetId = fromBase58String(getStringValue(this, "ASSET"))
42+ let rate = getIntegerValue(this, "RATE")
43+ let amount = mulp(payment.amount, rate)
44+[Burn(assetId, payment.amount), ScriptTransfer(i.caller, amount, unit)]
45+ }
46+
47+
48+
49+@Callable(i)
50+func setRate (_rate) = [IntegerEntry("RATE", _rate)]
51+
52+
53+
54+@Callable(i)
55+func getRate () = {
56+ let rate = toString(getIntegerValue(this, "RATE"))
57+ $Tuple2(nil, rate)
58+ }
59+
60+
61+@Verifier(tx)
62+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
63+

github/deemru/w8io/169f3d6 
18.70 ms