tx · E5fNY1mmzo1zZKA7WbqAGyFSfvL4hKEBR5mEMH6t9Y4h

3N72X4SpkNvXqi3ruDJgYdDmVJe8nRqj7zU:  -0.01400000 Waves

2020.09.23 07:27 [1189475] smart account 3N72X4SpkNvXqi3ruDJgYdDmVJe8nRqj7zU > SELF 0.00000000 Waves

{ "type": 13, "id": "E5fNY1mmzo1zZKA7WbqAGyFSfvL4hKEBR5mEMH6t9Y4h", "fee": 1400000, "feeAssetId": null, "timestamp": 1600835279480, "version": 2, "chainId": 84, "sender": "3N72X4SpkNvXqi3ruDJgYdDmVJe8nRqj7zU", "senderPublicKey": "Ej9UfgzgHeDPtoinwmZaL71Jv5CgK2QzWZZYyQUbpByz", "proofs": [ "2BkxKZ2ZjQRhuEmpFdDbwLyc8KinKabEQMhfGmQWnzzSrxLDPnrTKCERDFFjpLwpE5qjCnuRXSmVHbGsRmLdC63F" ], "script": "base64:AAIEAAAAAAAAACIIAhIECgIIARIECgIBCBIDCgEIEgQKAggIEgUKAwgICBIAAAAABwAAAAAGTEVTU09OAQAAACDo50h8OI7Nb62zoWsqagYFDIe8iqPg4/7715QkgwDg6QAAAAAEUEFSNwEAAAAgzlhA/ZjitMWTd+McxVJoK0GcLLGrEdV8aco355LpR4wAAAAAFGxlc3Nvbk93bmVyUHVibGljS2V5AQAAACDL8+i1dh5Vr1e4XeTXQeu2gcnq6/18vsaB8jf4EQnUaQAAAAAHcGVuZGluZwAAAAAAAAAAAAAAAAAFc3RhcnQAAAAAAAAAAAEAAAAAA2VuZAAAAAAAAAAAAgAAAAAMcGF5bWVudFRva2VuBQAAAARQQVI3AAAABgAAAAFpAQAAABFpc3N1ZUxlc3NvblRpY2tldAAAAAIAAAAEanNvbgAAAAVwcmljZQQAAAADcG10CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAZMRVNTT04JAAACAAAAAQIAAAAWd29ya3Mgd2l0aCBMRVNTT04gb25seQQAAAAPaXNzdWVDdXJyZW50S2V5AgAAAAtpc3N1ZU51bWJlcgQAAAASaXNzdWVDdXJyZW50TnVtYmVyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAD2lzc3VlQ3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAA5uZXdJc3N1ZU51bWJlcgkAAGQAAAACBQAAABJpc3N1ZUN1cnJlbnROdW1iZXIAAAAAAAAAAAEEAAAAFG5ld0lzc3VlTnVtYmVyU3RyaW5nCQABpAAAAAEFAAAADm5ld0lzc3VlTnVtYmVyBAAAABd0aWNrZXREZXRhaWxzQ3VycmVudEtleQkAASwAAAACCQABLAAAAAICAAAAB1RJQ0tFVF8FAAAAFG5ld0lzc3VlTnVtYmVyU3RyaW5nAgAAAAhfZGV0YWlscwQAAAAVdGlja2V0UHJpY2VDdXJyZW50S2V5CQABLAAAAAIJAAEsAAAAAgIAAAAHVElDS0VUXwUAAAAUbmV3SXNzdWVOdW1iZXJTdHJpbmcCAAAABl9wcmljZQQAAAAXdGlja2V0QmFsYW5jZUN1cnJlbnRLZXkJAAEsAAAAAgkAASwAAAACAgAAAAdUSUNLRVRfBQAAABRuZXdJc3N1ZU51bWJlclN0cmluZwIAAAAIX2JhbGFuY2UEAAAAGnRpY2tldEJhbGFuY2VDdXJyZW50QW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAF3RpY2tldEJhbGFuY2VDdXJyZW50S2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFm5ld1RpY2tldEJhbGFuY2VBbW91bnQJAABkAAAAAgUAAAAadGlja2V0QmFsYW5jZUN1cnJlbnRBbW91bnQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABV0aWNrZXRQcmljZUN1cnJlbnRLZXkFAAAABXByaWNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9pc3N1ZUN1cnJlbnRLZXkFAAAADm5ld0lzc3VlTnVtYmVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAF3RpY2tldERldGFpbHNDdXJyZW50S2V5BQAAAARqc29uCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABd0aWNrZXRCYWxhbmNlQ3VycmVudEtleQUAAAAWbmV3VGlja2V0QmFsYW5jZUFtb3VudAUAAAADbmlsAAAAAWkBAAAACWJ1eVRpY2tldAAAAAIAAAALdGlja2V0UHJpY2UAAAAMdGlja2V0TnVtYmVyBAAAAANwbXQJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAACnJhdGVBbW91bnQJAABpAAAAAggFAAAAA3BtdAAAAAZhbW91bnQFAAAAC3RpY2tldFByaWNlAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAxwYXltZW50VG9rZW4JAAACAAAAAQIAAAAUd29ya3Mgd2l0aCBQQVI3IG9ubHkEAAAADWJ1eUN1cnJlbnRLZXkJAAEsAAAAAgIAAAAEYnV5XwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAABBidXlDdXJyZW50QW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAADWJ1eUN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAMYnV5TmV3QW1vdW50CQAAZAAAAAIFAAAAEGJ1eUN1cnJlbnRBbW91bnQFAAAACnJhdGVBbW91bnQEAAAAF3RpY2tldEJhbGFuY2VDdXJyZW50S2V5CQABLAAAAAIJAAEsAAAAAgIAAAAHVElDS0VUXwUAAAAMdGlja2V0TnVtYmVyAgAAAAhfYmFsYW5jZQQAAAAadGlja2V0QmFsYW5jZUN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAXdGlja2V0QmFsYW5jZUN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAWbmV3VGlja2V0QmFsYW5jZUFtb3VudAkAAGUAAAACBQAAABp0aWNrZXRCYWxhbmNlQ3VycmVudEFtb3VudAUAAAAKcmF0ZUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANYnV5Q3VycmVudEtleQUAAAAMYnV5TmV3QW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABd0aWNrZXRCYWxhbmNlQ3VycmVudEtleQUAAAAWbmV3VGlja2V0QmFsYW5jZUFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACnJhdGVBbW91bnQFAAAABkxFU1NPTgUAAAADbmlsAAAAAWkBAAAAEmxlc3NvblN1YnNjcmlwdGlvbgAAAAEAAAAIbGVzc29uSWQEAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAFcG10SWQIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAAOc3R1ZGVudEFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAWbGVzc29uU3RhdHVzQ3VycmVudEtleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAHc3RhdHVzXwUAAAAIbGVzc29uSWQCAAAAAV8FAAAADnN0dWRlbnRBZGRyZXNzBAAAABNsZXNzb25GZWVDdXJyZW50S2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhwYXltZW50XwUAAAAIbGVzc29uSWQCAAAAAV8FAAAADnN0dWRlbnRBZGRyZXNzBAAAABZsZXNzb25GZWVDdXJyZW50QW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAE2xlc3NvbkZlZUN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAPdGlja2V0TmV3QW1vdW50CQAAZAAAAAIFAAAAFmxlc3NvbkZlZUN1cnJlbnRBbW91bnQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABZsZXNzb25TdGF0dXNDdXJyZW50S2V5BQAAAAdwZW5kaW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABNsZXNzb25GZWVDdXJyZW50S2V5BQAAAA90aWNrZXROZXdBbW91bnQFAAAAA25pbAAAAAFpAQAAAAtsZXNzb25TdGFydAAAAAIAAAAIbGVzc29uSWQAAAAOc3R1ZGVudEFkZHJlc3MEAAAAFmxlc3NvblN0YXR1c0N1cnJlbnRLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAB3N0YXR1c18FAAAACGxlc3NvbklkAgAAAAFfBQAAAA5zdHVkZW50QWRkcmVzcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAWbGVzc29uU3RhdHVzQ3VycmVudEtleQUAAAAFc3RhcnQFAAAAA25pbAAAAAFpAQAAAAxsZXNzb25GaW5pc2gAAAADAAAACGxlc3NvbklkAAAADnN0dWRlbnRBZGRyZXNzAAAADHRpY2tldE51bWJlcgQAAAAIdGlja2V0SWQJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQUAAAAGTEVTU09OBAAAABNsZXNzb25GZWVDdXJyZW50S2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhwYXltZW50XwUAAAAIbGVzc29uSWQCAAAAAV8FAAAADnN0dWRlbnRBZGRyZXNzBAAAABZsZXNzb25GZWVDdXJyZW50QW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAE2xlc3NvbkZlZUN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAVdGlja2V0UHJpY2VDdXJyZW50S2V5CQABLAAAAAIFAAAADHRpY2tldE51bWJlcgIAAAAGX3ByaWNlBAAAABd0aWNrZXRQcmljZUN1cnJlbnRQcmljZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABV0aWNrZXRQcmljZUN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAATbGVzc29uUGF5bWVudEFtb3VudAkAAGkAAAACBQAAABZsZXNzb25GZWVDdXJyZW50QW1vdW50BQAAABd0aWNrZXRQcmljZUN1cnJlbnRQcmljZQQAAAAIb3duZXJLZXkJAAEsAAAAAgIAAAAOb3duZXJfYmFsYW5jZV8JAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAALb3duZXJBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAIb3duZXJLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAObmV3T3duZXJBbW91bnQJAABkAAAAAgUAAAALb3duZXJBbW91bnQFAAAAE2xlc3NvblBheW1lbnRBbW91bnQEAAAAFmxlc3NvblN0YXR1c0N1cnJlbnRLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAB3N0YXR1c18FAAAACGxlc3NvbklkAgAAAAFfBQAAAA5zdHVkZW50QWRkcmVzcwQAAAAQdGlja2V0Q3VycmVudEtleQkAASwAAAACCQABLAAAAAIFAAAACHRpY2tldElkAgAAAAFfBQAAAA5zdHVkZW50QWRkcmVzcwQAAAATdGlja2V0Q3VycmVudEFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABB0aWNrZXRDdXJyZW50S2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAABnRpY2tldAkAAlkAAAABBQAAAAh0aWNrZXRJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAIb3duZXJLZXkFAAAADm5ld093bmVyQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABZsZXNzb25TdGF0dXNDdXJyZW50S2V5BQAAAANlbmQJAARMAAAAAgkBAAAABEJ1cm4AAAACBQAAAAZMRVNTT04FAAAAFmxlc3NvbkZlZUN1cnJlbnRBbW91bnQFAAAAA25pbAAAAAFpAQAAAA1vd25lcldpdGhkcmF3AAAAAAQAAAAIb3duZXJLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAANY3VycmVudEFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAAhvd25lcktleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAwkAAGYAAAACAAAAAAAAAAAABQAAAA1jdXJyZW50QW1vdW50CQAAAgAAAAECAAAAHkNhbid0IHdpdGhkcmF3IG5lZ2F0aXZlIGFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAIb3duZXJLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAA1jdXJyZW50QW1vdW50BQAAAARQQVI3BQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAUbGVzc29uT3duZXJQdWJsaWNLZXkC4v6q", "height": 1189475, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FQPEEDaiWPyVykCD9HxepXSqBxhX51ComXSDmGPX2Ymj Next: none Diff:
OldNewDifferences
5050 func buyTicket (ticketPrice,ticketNumber) = {
5151 let pmt = i.payments[0]
5252 let rateAmount = (pmt.amount / ticketPrice)
53- if ((pmt.assetId != PAR7))
53+ if ((pmt.assetId != paymentToken))
5454 then throw("works with PAR7 only")
5555 else {
5656 let buyCurrentKey = ("buy_" + toBase58String(i.caller.bytes))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let LESSON = base58'GgA8mL3SEYvuhYoZFd418Li4bqXAasGbYCKJshTt2MGU'
55
66 let PAR7 = base58'EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm'
77
88 let lessonOwnerPublicKey = base58'Ej9UfgzgHeDPtoinwmZaL71Jv5CgK2QzWZZYyQUbpByz'
99
1010 let pending = 0
1111
1212 let start = 1
1313
1414 let end = 2
1515
1616 let paymentToken = PAR7
1717
1818 @Callable(i)
1919 func issueLessonTicket (json,price) = {
2020 let pmt = i.payments[0]
2121 if ((pmt.assetId != LESSON))
2222 then throw("works with LESSON only")
2323 else {
2424 let issueCurrentKey = "issueNumber"
2525 let issueCurrentNumber = match getInteger(this, issueCurrentKey) {
2626 case a: Int =>
2727 a
2828 case _ =>
2929 0
3030 }
3131 let newIssueNumber = (issueCurrentNumber + 1)
3232 let newIssueNumberString = toString(newIssueNumber)
3333 let ticketDetailsCurrentKey = (("TICKET_" + newIssueNumberString) + "_details")
3434 let ticketPriceCurrentKey = (("TICKET_" + newIssueNumberString) + "_price")
3535 let ticketBalanceCurrentKey = (("TICKET_" + newIssueNumberString) + "_balance")
3636 let ticketBalanceCurrentAmount = match getInteger(this, ticketBalanceCurrentKey) {
3737 case a: Int =>
3838 a
3939 case _ =>
4040 0
4141 }
4242 let newTicketBalanceAmount = (ticketBalanceCurrentAmount + pmt.amount)
4343 [IntegerEntry(ticketPriceCurrentKey, price), IntegerEntry(issueCurrentKey, newIssueNumber), StringEntry(ticketDetailsCurrentKey, json), IntegerEntry(ticketBalanceCurrentKey, newTicketBalanceAmount)]
4444 }
4545 }
4646
4747
4848
4949 @Callable(i)
5050 func buyTicket (ticketPrice,ticketNumber) = {
5151 let pmt = i.payments[0]
5252 let rateAmount = (pmt.amount / ticketPrice)
53- if ((pmt.assetId != PAR7))
53+ if ((pmt.assetId != paymentToken))
5454 then throw("works with PAR7 only")
5555 else {
5656 let buyCurrentKey = ("buy_" + toBase58String(i.caller.bytes))
5757 let buyCurrentAmount = match getInteger(this, buyCurrentKey) {
5858 case a: Int =>
5959 a
6060 case _ =>
6161 0
6262 }
6363 let buyNewAmount = (buyCurrentAmount + rateAmount)
6464 let ticketBalanceCurrentKey = (("TICKET_" + ticketNumber) + "_balance")
6565 let ticketBalanceCurrentAmount = match getInteger(this, ticketBalanceCurrentKey) {
6666 case a: Int =>
6767 a
6868 case _ =>
6969 0
7070 }
7171 let newTicketBalanceAmount = (ticketBalanceCurrentAmount - rateAmount)
7272 [IntegerEntry(buyCurrentKey, buyNewAmount), IntegerEntry(ticketBalanceCurrentKey, newTicketBalanceAmount), ScriptTransfer(i.caller, rateAmount, LESSON)]
7373 }
7474 }
7575
7676
7777
7878 @Callable(i)
7979 func lessonSubscription (lessonId) = {
8080 let pmt = i.payments[0]
8181 let pmtId = pmt.assetId
8282 let studentAddress = toBase58String(i.caller.bytes)
8383 let lessonStatusCurrentKey = ((("status_" + lessonId) + "_") + studentAddress)
8484 let lessonFeeCurrentKey = ((("payment_" + lessonId) + "_") + studentAddress)
8585 let lessonFeeCurrentAmount = match getInteger(this, lessonFeeCurrentKey) {
8686 case a: Int =>
8787 a
8888 case _ =>
8989 0
9090 }
9191 let ticketNewAmount = (lessonFeeCurrentAmount + pmt.amount)
9292 [IntegerEntry(lessonStatusCurrentKey, pending), IntegerEntry(lessonFeeCurrentKey, ticketNewAmount)]
9393 }
9494
9595
9696
9797 @Callable(i)
9898 func lessonStart (lessonId,studentAddress) = {
9999 let lessonStatusCurrentKey = ((("status_" + lessonId) + "_") + studentAddress)
100100 [IntegerEntry(lessonStatusCurrentKey, start)]
101101 }
102102
103103
104104
105105 @Callable(i)
106106 func lessonFinish (lessonId,studentAddress,ticketNumber) = {
107107 let ticketId = toBase58String(value(LESSON))
108108 let lessonFeeCurrentKey = ((("payment_" + lessonId) + "_") + studentAddress)
109109 let lessonFeeCurrentAmount = match getInteger(this, lessonFeeCurrentKey) {
110110 case a: Int =>
111111 a
112112 case _ =>
113113 0
114114 }
115115 let ticketPriceCurrentKey = (ticketNumber + "_price")
116116 let ticketPriceCurrentPrice = match getInteger(this, ticketPriceCurrentKey) {
117117 case a: Int =>
118118 a
119119 case _ =>
120120 0
121121 }
122122 let lessonPaymentAmount = (lessonFeeCurrentAmount / ticketPriceCurrentPrice)
123123 let ownerKey = ("owner_balance_" + toBase58String(i.caller.bytes))
124124 let ownerAmount = match getInteger(this, ownerKey) {
125125 case a: Int =>
126126 a
127127 case _ =>
128128 0
129129 }
130130 let newOwnerAmount = (ownerAmount + lessonPaymentAmount)
131131 let lessonStatusCurrentKey = ((("status_" + lessonId) + "_") + studentAddress)
132132 let ticketCurrentKey = ((ticketId + "_") + studentAddress)
133133 let ticketCurrentAmount = match getInteger(this, ticketCurrentKey) {
134134 case a: Int =>
135135 a
136136 case _ =>
137137 0
138138 }
139139 let ticket = fromBase58String(ticketId)
140140 [IntegerEntry(ownerKey, newOwnerAmount), IntegerEntry(lessonStatusCurrentKey, end), Burn(LESSON, lessonFeeCurrentAmount)]
141141 }
142142
143143
144144
145145 @Callable(i)
146146 func ownerWithdraw () = {
147147 let ownerKey = toBase58String(i.caller.bytes)
148148 let currentAmount = match getInteger(this, ownerKey) {
149149 case a: Int =>
150150 a
151151 case _ =>
152152 0
153153 }
154154 if ((0 > currentAmount))
155155 then throw("Can't withdraw negative amount")
156156 else [IntegerEntry(ownerKey, 0), ScriptTransfer(i.caller, currentAmount, PAR7)]
157157 }
158158
159159
160160 @Verifier(tx)
161161 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], lessonOwnerPublicKey)
162162

github/deemru/w8io/3ef1775 
45.73 ms