tx · EMoXuhbp4V5GC8CcniAHK1fSq54TYtkRnpKoXzQrmo8x

3MxYgRq7rejGYwySqsS3kxaP5UEk4Bhg8Rj:  -0.01000000 Waves

2021.03.29 17:43 [1459177] smart account 3MxYgRq7rejGYwySqsS3kxaP5UEk4Bhg8Rj > SELF 0.00000000 Waves

{ "type": 13, "id": "EMoXuhbp4V5GC8CcniAHK1fSq54TYtkRnpKoXzQrmo8x", "fee": 1000000, "feeAssetId": null, "timestamp": 1617029110102, "version": 2, "chainId": 84, "sender": "3MxYgRq7rejGYwySqsS3kxaP5UEk4Bhg8Rj", "senderPublicKey": "8Zd7BkfymzHKL3bp4igwa34UbhxLhN1HHMnZ6KP8UaTe", "proofs": [ "2qsazNbFn4rEaEXeiYQF6wZLzhEhj9iDCGRHv8H6mE6sPycRCCp3iKsUGCSXXYKey95AJ44dijaz6ptYhrcAk2uw" ], "script": "base64:AAIEAAAAAAAAACEIAhIECgIIARIECgIIARIECgIIARIECgIIARIFCgMICAEAAAAGAAAAAApiYWxhbmNlS2V5AgAAAAJfYgAAAAAMYWxsb3dhbmNlS2V5AgAAAAJfYQAAAAALdG90YWxTdXBwbHkCAAAAC3RvdGFsU3VwcGx5AQAAAApnZXRCYWxhbmNlAAAAAQAAAAdhY2NvdW50BAAAAANrZXkJAAEsAAAAAgUAAAAHYWNjb3VudAUAAAAKYmFsYW5jZUtleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAEAAAAMZ2V0QWxsb3dhbmNlAAAAAgAAAAZzZW5kZXIAAAAJcmVjaXBpZW50BAAAAANrZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABnNlbmRlcgIAAAABXwUAAAAJcmVjaXBpZW50BQAAAAxhbGxvd2FuY2VLZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAABAAAADmdldFRvdGFsU3VwcGx5AAAAAAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAAt0b3RhbFN1cHBseQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAAAABQAAAAFpAQAAAARtaW50AAAAAgAAAAdhY2NvdW50AAAABmFtb3VudAMJAABnAAAAAgAAAAAAAAAAAAUAAAAGYW1vdW50CQAAAgAAAAECAAAAIEFtb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvBAAAAA1jdXJyZW50QW1vdW50CQEAAAAKZ2V0QmFsYW5jZQAAAAEFAAAAB2FjY291bnQEAAAAEmN1cnJlbnRUb3RhbFN1cHBseQkBAAAADmdldFRvdGFsU3VwcGx5AAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAdhY2NvdW50BQAAAApiYWxhbmNlS2V5CQAAZAAAAAIFAAAADWN1cnJlbnRBbW91bnQFAAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAALdG90YWxTdXBwbHkJAABkAAAAAgUAAAASY3VycmVudFRvdGFsU3VwcGx5BQAAAAZhbW91bnQFAAAAA25pbAAAAAFpAQAAAARidXJuAAAAAgAAAAdhY2NvdW50AAAABmFtb3VudAMJAABnAAAAAgAAAAAAAAAAAAUAAAAGYW1vdW50CQAAAgAAAAECAAAAIEFtb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvBAAAAA1jdXJyZW50QW1vdW50CQEAAAAKZ2V0QmFsYW5jZQAAAAEFAAAAB2FjY291bnQEAAAAEmN1cnJlbnRUb3RhbFN1cHBseQkBAAAADmdldFRvdGFsU3VwcGx5AAAAAAMDCQAAZwAAAAIFAAAADWN1cnJlbnRBbW91bnQFAAAABmFtb3VudAkAAGcAAAACBQAAABJjdXJyZW50VG90YWxTdXBwbHkFAAAABmFtb3VudAcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAHYWNjb3VudAUAAAAKYmFsYW5jZUtleQkAAGUAAAACBQAAAA1jdXJyZW50QW1vdW50BQAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAC3RvdGFsU3VwcGx5CQAAZQAAAAIFAAAAEmN1cnJlbnRUb3RhbFN1cHBseQUAAAAGYW1vdW50BQAAAANuaWwJAAACAAAAAQIAAAASSW5zdWZmaWNpZW50IGZ1bmRzAAAAAWkBAAAAB2FwcHJvdmUAAAACAAAACXJlY2lwaWVudAAAAAZhbW91bnQEAAAABmNhbGxlcgkABCUAAAABCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkDCQAAZwAAAAIAAAAAAAAAAAAFAAAABmFtb3VudAkAAAIAAAABAgAAACBBbW91bnQgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVybwQAAAANY3VycmVudEFtb3VudAkBAAAACmdldEJhbGFuY2UAAAABBQAAAAZjYWxsZXIDCQAAZwAAAAIFAAAADWN1cnJlbnRBbW91bnQFAAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAGY2FsbGVyAgAAAAFfBQAAAAlyZWNpcGllbnQFAAAADGFsbG93YW5jZUtleQUAAAAGYW1vdW50BQAAAANuaWwJAAACAAAAAQIAAAASSW5zdWZmaWNpZW50IGZ1bmRzAAAAAWkBAAAACHRyYW5zZmVyAAAAAgAAAAlyZWNpcGllbnQAAAAGYW1vdW50BAAAAAZzZW5kZXIJAAQlAAAAAQkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AwkAAGcAAAACAAAAAAAAAAAABQAAAAZhbW91bnQJAAACAAAAAQIAAAAgQW1vdW50IG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8EAAAAE2N1cnJlbnRBbW91bnRTZW5kZXIJAQAAAApnZXRCYWxhbmNlAAAAAQUAAAAGc2VuZGVyBAAAABZjdXJyZW50QW1vdW50UmVjaXBpZW50CQEAAAAKZ2V0QmFsYW5jZQAAAAEFAAAACXJlY2lwaWVudAMJAABnAAAAAgUAAAATY3VycmVudEFtb3VudFNlbmRlcgUAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABnNlbmRlcgUAAAAKYmFsYW5jZUtleQkAAGUAAAACBQAAABNjdXJyZW50QW1vdW50U2VuZGVyBQAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAJcmVjaXBpZW50BQAAAApiYWxhbmNlS2V5CQAAZAAAAAIFAAAAFmN1cnJlbnRBbW91bnRSZWNpcGllbnQFAAAABmFtb3VudAUAAAADbmlsCQAAAgAAAAECAAAAEkluc3VmZmljaWVudCBmdW5kcwAAAAFpAQAAAAx0cmFuc2ZlckZyb20AAAADAAAABnNlbmRlcgAAAAlyZWNpcGllbnQAAAAGYW1vdW50BAAAABBjdXJyZW50QWxsb3dhbmNlCQEAAAAMZ2V0QWxsb3dhbmNlAAAAAgUAAAAGc2VuZGVyBQAAAAlyZWNpcGllbnQDCQAAZwAAAAIFAAAAEGN1cnJlbnRBbGxvd2FuY2UFAAAABmFtb3VudAMJAABnAAAAAgAAAAAAAAAAAAUAAAAGYW1vdW50CQAAAgAAAAECAAAAIEFtb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvBAAAABNjdXJyZW50QW1vdW50U2VuZGVyCQEAAAAKZ2V0QmFsYW5jZQAAAAEFAAAABnNlbmRlcgQAAAAWY3VycmVudEFtb3VudFJlY2lwaWVudAkBAAAACmdldEJhbGFuY2UAAAABBQAAAAlyZWNpcGllbnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAGc2VuZGVyBQAAAApiYWxhbmNlS2V5CQAAZQAAAAIFAAAAE2N1cnJlbnRBbW91bnRTZW5kZXIFAAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAlyZWNpcGllbnQFAAAACmJhbGFuY2VLZXkJAABkAAAAAgUAAAAWY3VycmVudEFtb3VudFJlY2lwaWVudAUAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZzZW5kZXICAAAAAV8FAAAACXJlY2lwaWVudAUAAAAMYWxsb3dhbmNlS2V5CQAAZQAAAAIFAAAAEGN1cnJlbnRBbGxvd2FuY2UFAAAABmFtb3VudAUAAAADbmlsCQAAAgAAAAECAAAAEkluc3VmZmljaWVudCBmdW5kcwAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAHObmELA==", "height": 1459177, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 4 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let balanceKey = "_b"
5+
6+let allowanceKey = "_a"
7+
8+let totalSupply = "totalSupply"
9+
10+func getBalance (account) = {
11+ let key = (account + balanceKey)
12+ match getInteger(this, key) {
13+ case a: Int =>
14+ a
15+ case _ =>
16+ 0
17+ }
18+ }
19+
20+
21+func getAllowance (sender,recipient) = {
22+ let key = (((sender + "_") + recipient) + allowanceKey)
23+ match getInteger(this, key) {
24+ case a: Int =>
25+ a
26+ case _ =>
27+ 0
28+ }
29+ }
30+
31+
32+func getTotalSupply () = match getInteger(this, totalSupply) {
33+ case a: Int =>
34+ a
35+ case _ =>
36+ 0
37+}
38+
39+
40+@Callable(i)
41+func mint (account,amount) = if ((0 >= amount))
42+ then throw("Amount must be greater than zero")
43+ else {
44+ let currentAmount = getBalance(account)
45+ let currentTotalSupply = getTotalSupply()
46+[IntegerEntry((account + balanceKey), (currentAmount + amount)), IntegerEntry(totalSupply, (currentTotalSupply + amount))]
47+ }
48+
49+
50+
51+@Callable(i)
52+func burn (account,amount) = if ((0 >= amount))
53+ then throw("Amount must be greater than zero")
54+ else {
55+ let currentAmount = getBalance(account)
56+ let currentTotalSupply = getTotalSupply()
57+ if (if ((currentAmount >= amount))
58+ then (currentTotalSupply >= amount)
59+ else false)
60+ then [IntegerEntry((account + balanceKey), (currentAmount - amount)), IntegerEntry(totalSupply, (currentTotalSupply - amount))]
61+ else throw("Insufficient funds")
62+ }
63+
64+
65+
66+@Callable(i)
67+func approve (recipient,amount) = {
68+ let caller = toString(addressFromPublicKey(i.callerPublicKey))
69+ if ((0 >= amount))
70+ then throw("Amount must be greater than zero")
71+ else {
72+ let currentAmount = getBalance(caller)
73+ if ((currentAmount >= amount))
74+ then [IntegerEntry((((caller + "_") + recipient) + allowanceKey), amount)]
75+ else throw("Insufficient funds")
76+ }
77+ }
78+
79+
80+
81+@Callable(i)
82+func transfer (recipient,amount) = {
83+ let sender = toString(addressFromPublicKey(i.callerPublicKey))
84+ if ((0 >= amount))
85+ then throw("Amount must be greater than zero")
86+ else {
87+ let currentAmountSender = getBalance(sender)
88+ let currentAmountRecipient = getBalance(recipient)
89+ if ((currentAmountSender >= amount))
90+ then [IntegerEntry((sender + balanceKey), (currentAmountSender - amount)), IntegerEntry((recipient + balanceKey), (currentAmountRecipient + amount))]
91+ else throw("Insufficient funds")
92+ }
93+ }
94+
95+
96+
97+@Callable(i)
98+func transferFrom (sender,recipient,amount) = {
99+ let currentAllowance = getAllowance(sender, recipient)
100+ if ((currentAllowance >= amount))
101+ then if ((0 >= amount))
102+ then throw("Amount must be greater than zero")
103+ else {
104+ let currentAmountSender = getBalance(sender)
105+ let currentAmountRecipient = getBalance(recipient)
106+[IntegerEntry((sender + balanceKey), (currentAmountSender - amount)), IntegerEntry((recipient + balanceKey), (currentAmountRecipient + amount)), IntegerEntry((((sender + "_") + recipient) + allowanceKey), (currentAllowance - amount))]
107+ }
108+ else throw("Insufficient funds")
109+ }
110+
111+
112+@Verifier(tx)
113+func verify () = false
114+

github/deemru/w8io/169f3d6 
48.54 ms