tx · HbEhwsUffK8u5rpiqUdyj23U3kGXSTNmqRLHL3Y89GGb

3MriZGLhQEu1jMDKDAbnsbh6TZuZueBAHSY:  -0.05000000 Waves

2021.03.16 10:45 [1439975] smart account 3MriZGLhQEu1jMDKDAbnsbh6TZuZueBAHSY > SELF 0.00000000 Waves

{ "type": 13, "id": "HbEhwsUffK8u5rpiqUdyj23U3kGXSTNmqRLHL3Y89GGb", "fee": 5000000, "feeAssetId": null, "timestamp": 1615880700424, "version": 2, "chainId": 84, "sender": "3MriZGLhQEu1jMDKDAbnsbh6TZuZueBAHSY", "senderPublicKey": "3idTJAmqkivFDf1EUKZ85Tt43Rp22pZb3RDiVXTWrgBq", "proofs": [ "66bYN9rHJtkssMk8LtPJdmkk3Foia6XoN5aDkpXqHMkRvK6LkWayLfkUCwQ7NqvR7u9iJA3fBjDHcmSiPaTwto6G" ], "script": "base64:AAIEAAAAAAAAAAsIAhIDCgEIEgASAAAAAAoAAAAAEXRhc2tTdGF0dXNEZWZhdWx0AgAAAAppbmNvbXBsZXRlAAAAABJ0YXNrU3RhdHVzQ29tcGxldGUCAAAACGNvbXBsZXRlAAAAAAxhZGRyQ29udHJhY3QJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQeulVTb30gIatILq7oKevTQfmT23BHXzEAAAAADGFzc2V0V2F2ZXNJZAUAAAAEdW5pdAAAAAASYXNzZXROZnRJbml0QW1vdW50AAAAAAAAAAABAAAAABBhc3NldE5mdERlY2ltYWxzAAAAAAAAAAAAAAAAABJhc3NldE5mdFJlaXNzdWFibGUHAAAAABdhc3NldEFtb3VudE1pblRocmVzaG9sZAAAAAAAAAAD6AAAAAASZGVjaW1hbHNBc3NldFdhdmVzAAAAAAAAAAAIAAAAAA9sYWJlbFRhc2tJZExhc3QCAAAACnRhc2tJZExhc3QAAAADAAAAAWkBAAAAB3NldFRhc2sAAAABAAAACHRhc2tOYW1lBAAAAAp0YXNrTGFzdElkAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAgUAAAAEdGhpcwUAAAAPbGFiZWxUYXNrSWRMYXN0CQAAZAAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAD2xhYmVsVGFza0lkTGFzdAAAAAAAAAAAAQAAAAAAAAAAAQQAAAAJYXNzZXROYW1lCQABLAAAAAICAAAABnRhc2sgIwkAAaQAAAABBQAAAAp0YXNrTGFzdElkBAAAABBhc3NldERlc2NyaXB0aW9uCQABLAAAAAICAAAAHk5GVC10b2tlbiBvZiB0YXNrIG1hbmFnZXIgZnJvbQkABCUAAAABBQAAAAR0aGlzBAAAABVpbnRBc3NldGlucHV0SWRBbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAQAAAAIbmZ0SXNzdWUJAARCAAAABQUAAAAJYXNzZXROYW1lBQAAABBhc3NldERlc2NyaXB0aW9uBQAAABJhc3NldE5mdEluaXRBbW91bnQFAAAAEGFzc2V0TmZ0RGVjaW1hbHMFAAAAEmFzc2V0TmZ0UmVpc3N1YWJsZQQAAAAKbmZ0SXNzdWVJZAkAAlgAAAABCQAEOAAAAAEFAAAACG5mdElzc3VlBAAAAA1sYWJlbFRhc2tOYW1lCQABLAAAAAICAAAACXRhc2tOYW1lXwUAAAAKbmZ0SXNzdWVJZAQAAAAPbGFiZWxUYXNrU3RhdHVzCQABLAAAAAICAAAAC3Rhc2tTdGF0dXNfBQAAAApuZnRJc3N1ZUlkBAAAAA9sYWJlbFRhc2tBbW91bnQJAAEsAAAAAgIAAAALdGFza0Ftb3VudF8FAAAACm5mdElzc3VlSWQDCQAAZgAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAACAAAAAQIAAAAcT25lIGF0dGFjaGVkIGFzc2V0cyBleHBlY3RlZAMJAQAAAAIhPQAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQFAAAADGFzc2V0V2F2ZXNJZAkAAAIAAAABAgAAAB1tdXN0IGJlIGF0dGFjaGVkIGFzc2V0OiBXQVZFUwMJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMFAAAADWxhYmVsVGFza05hbWUJAAACAAAAAQIAAAAsVGFzayB3aXRoIGEgc3BlY2lmaWVkIG5hbWUgaXMgYWxyZWFkeSBleGlzdHMDCQAAZgAAAAIFAAAAF2Fzc2V0QW1vdW50TWluVGhyZXNob2xkCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAM2Ftb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB0aGUgbWluaW11bSB0aHJlc2hvbGQ6IAkAAaQAAAABBQAAABdhc3NldEFtb3VudE1pblRocmVzaG9sZAIAAAAGIFdBVkVTAwkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAADGFkZHJDb250cmFjdAkAAAIAAAABAgAAACptZXRob2QgbWF5IG5vdCBiZSBjYWxsZWQgZnJvbSB0aGUgY29udHJhY3QJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAANbGFiZWxUYXNrTmFtZQUAAAAIdGFza05hbWUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAPbGFiZWxUYXNrU3RhdHVzBQAAABF0YXNrU3RhdHVzRGVmYXVsdAkABEwAAAACBQAAAAhuZnRJc3N1ZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAEmFzc2V0TmZ0SW5pdEFtb3VudAkAAlkAAAABBQAAAApuZnRJc3N1ZUlkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAD2xhYmVsVGFza1N0YXR1cwUAAAARdGFza1N0YXR1c0RlZmF1bHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2xhYmVsVGFza0Ftb3VudAUAAAAVaW50QXNzZXRpbnB1dElkQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9sYWJlbFRhc2tJZExhc3QFAAAACnRhc2tMYXN0SWQFAAAAA25pbAAAAAFpAQAAAAxjb21wbGV0ZVRhc2sAAAAABAAAAAskdDAyNDMyMjUyNAkABRQAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQJAQAAAAV2YWx1ZQAAAAEICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAAEGFzc2V0SW5wdXRBbW91bnQIBQAAAAskdDAyNDMyMjUyNAAAAAJfMQQAAAAMYXNzZXRJbnB1dElkCAUAAAALJHQwMjQzMjI1MjQAAAACXzIEAAAAD2xhYmVsVGFza1N0YXR1cwkAASwAAAACAgAAAAt0YXNrU3RhdHVzXwkAAlgAAAABBQAAAAxhc3NldElucHV0SWQEAAAAD2xhYmVsVGFza0Ftb3VudAkAASwAAAACAgAAAAt0YXNrQW1vdW50XwkAAlgAAAABBQAAAAxhc3NldElucHV0SWQEAAAAEnN0cmluZ0Fzc2V0SW5wdXRJZAkAAlgAAAABCQEAAAAFdmFsdWUAAAABCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAA5pbmZv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AAAAAAABCQAAAgAAAAECAAAAHE9uZSBhdHRhY2hlZCBhc3NldHMgZXhwZWN0ZWQDCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAMYWRkckNvbnRyYWN0CQAAAgAAAAECAAAAKm1ldGhvZCBtYXkgbm90IGJlIGNhbGxlZCBmcm9tIHRoZSBjb250cmFjdAMDAwkAAAAAAAACCQEAAAAFdmFsdWUAAAABCAUAAAAOaW5mb0Fzc2V0SW5wdXQAAAAIZGVjaW1hbHMFAAAAEGFzc2V0TmZ0RGVjaW1hbHMJAAAAAAAAAgkBAAAABXZhbHVlAAAAAQgFAAAADmluZm9Bc3NldElucHV0AAAACnJlaXNzdWFibGUFAAAAEmFzc2V0TmZ0UmVpc3N1YWJsZQcJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMFAAAAD2xhYmVsVGFza1N0YXR1cwcEAAAACnRhc2tTdGF0dXMJAAQdAAAAAgUAAAAEdGhpcwUAAAAPbGFiZWxUYXNrU3RhdHVzAwMJAAAAAAAAAgUAAAAKdGFza1N0YXR1cwUAAAARdGFza1N0YXR1c0RlZmF1bHQJAAAAAAAAAgkBAAAABXZhbHVlAAAAAQgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50BQAAABJhc3NldE5mdEluaXRBbW91bnQHBAAAABZpbnRBc3NldE91dHB1dElkQW1vdW50CQAAbAAAAAYJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAD2xhYmVsVGFza0Ftb3VudAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAUAAAASZGVjaW1hbHNBc3NldFdhdmVzBQAAAARET1dOCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAAMYXNzZXRJbnB1dElkBQAAABBhc3NldElucHV0QW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAWaW50QXNzZXRPdXRwdXRJZEFtb3VudAUAAAAMYXNzZXRXYXZlc0lkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAD2xhYmVsVGFza0Ftb3VudAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAA9sYWJlbFRhc2tTdGF0dXMJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAANbGFiZWxUYXNrTmFtZQUAAAADbmlsAwkAAAAAAAACBQAAABJ0YXNrU3RhdHVzQ29tcGxldGUFAAAACnRhc2tTdGF0dXMJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAPbGFiZWxUYXNrQW1vdW50CQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAD2xhYmVsVGFza1N0YXR1cwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAA1sYWJlbFRhc2tOYW1lBQAAAANuaWwJAAACAAAAAQIAAAAZVGFzayBoYXZlIGEgYnJva2VuIHN0YXR1cwkAAAIAAAABAgAAAB5BdHRhY2hlZCBhc3NldCBpcyBub3QgZXhwZWN0ZWQAAAAAXRVUaQ==", "height": 1439975, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5b8jLEctJR1rknnbm34JeYmGnKJo26QytdtkkrzxTNfJ Next: Fo4v8L2EFybJBcdJxykFUA7JujeTyFWMEtnhx3aXFKN3 Diff:
OldNewDifferences
2929 let assetName = ("task #" + toString(taskLastId))
3030 let assetDescription = ("NFT-token of task manager from" + toString(this))
3131 let intAssetinputIdAmount = i.payments[0].amount
32- let shareIssue = Issue(assetName, assetDescription, assetNftInitAmount, assetNftDecimals, assetNftReissuable)
33- let shareIssueId = toBase58String(calculateAssetId(shareIssue))
34- let labelTaskName = ("taskName_" + shareIssueId)
35- let labelTaskStatus = ("taskStatus_" + shareIssueId)
36- let labelTaskAmount = ("taskAmount_" + shareIssueId)
32+ let nftIssue = Issue(assetName, assetDescription, assetNftInitAmount, assetNftDecimals, assetNftReissuable)
33+ let nftIssueId = toBase58String(calculateAssetId(nftIssue))
34+ let labelTaskName = ("taskName_" + nftIssueId)
35+ let labelTaskStatus = ("taskStatus_" + nftIssueId)
36+ let labelTaskAmount = ("taskAmount_" + nftIssueId)
3737 if ((size(i.payments) > 1))
3838 then throw("One attached assets expected")
3939 else if ((i.payments[0].assetId != assetWavesId))
4141 else if (isDefined(getString(this, labelTaskName)))
4242 then throw("Task with a specified name is already exists")
4343 else if ((assetAmountMinThreshold > i.payments[0].amount))
44- then throw("amount must be greater than the minimum threshold: 0.0001 WAVES")
44+ then throw((("amount must be greater than the minimum threshold: " + toString(assetAmountMinThreshold)) + " WAVES"))
4545 else if ((i.caller == addrContract))
4646 then throw("method may not be called from the contract")
47- else [StringEntry(labelTaskName, taskName), StringEntry(labelTaskStatus, taskStatusDefault), shareIssue, ScriptTransfer(addrContract, assetNftInitAmount, fromBase58String(shareIssueId)), ScriptTransfer(i.caller, assetNftInitAmount, fromBase58String(shareIssueId)), StringEntry(labelTaskStatus, taskStatusDefault), ScriptTransfer(addrContract, intAssetinputIdAmount, assetWavesId), IntegerEntry(labelTaskAmount, intAssetinputIdAmount), IntegerEntry(labelTaskIdLast, taskLastId)]
47+ else [StringEntry(labelTaskName, taskName), StringEntry(labelTaskStatus, taskStatusDefault), nftIssue, ScriptTransfer(i.caller, assetNftInitAmount, fromBase58String(nftIssueId)), StringEntry(labelTaskStatus, taskStatusDefault), IntegerEntry(labelTaskAmount, intAssetinputIdAmount), IntegerEntry(labelTaskIdLast, taskLastId)]
4848 }
4949
5050
5151
5252 @Callable(i)
5353 func completeTask () = {
54- let $t025132605 = $Tuple2(i.payments[0].amount, value(i.payments[0].assetId))
55- let assetInputAmount = $t025132605._1
56- let assetInputId = $t025132605._2
54+ let $t024322524 = $Tuple2(i.payments[0].amount, value(i.payments[0].assetId))
55+ let assetInputAmount = $t024322524._1
56+ let assetInputId = $t024322524._2
5757 let labelTaskStatus = ("taskStatus_" + toBase58String(assetInputId))
5858 let labelTaskAmount = ("taskAmount_" + toBase58String(assetInputId))
5959 let stringAssetInputId = toBase58String(value(i.payments[0].assetId))
7878
7979 @Callable(i)
8080 func removeTask () = {
81- let $t038123904 = $Tuple2(i.payments[0].amount, value(i.payments[0].assetId))
82- let assetInputAmount = $t038123904._1
83- let assetInputId = $t038123904._2
81+ let $t037313823 = $Tuple2(i.payments[0].amount, value(i.payments[0].assetId))
82+ let assetInputAmount = $t037313823._1
83+ let assetInputId = $t037313823._2
8484 let labelTaskAmount = ("taskAmount_" + toBase58String(assetInputId))
8585 let labelTaskStatus = ("taskStatus_" + toBase58String(assetInputId))
8686 let labelTaskName = ("taskName_" + toBase58String(assetInputId))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let taskStatusDefault = "incomplete"
55
66 let taskStatusComplete = "complete"
77
88 let addrContract = Address(base58'3MriZGLhQEu1jMDKDAbnsbh6TZuZueBAHSY')
99
1010 let assetWavesId = unit
1111
1212 let assetNftInitAmount = 1
1313
1414 let assetNftDecimals = 0
1515
1616 let assetNftReissuable = false
1717
1818 let assetAmountMinThreshold = 1000
1919
2020 let decimalsAssetWaves = 8
2121
2222 let labelTaskIdLast = "taskIdLast"
2323
2424 @Callable(i)
2525 func setTask (taskName) = {
2626 let taskLastId = if (isDefined(getInteger(this, labelTaskIdLast)))
2727 then (getIntegerValue(this, labelTaskIdLast) + 1)
2828 else 1
2929 let assetName = ("task #" + toString(taskLastId))
3030 let assetDescription = ("NFT-token of task manager from" + toString(this))
3131 let intAssetinputIdAmount = i.payments[0].amount
32- let shareIssue = Issue(assetName, assetDescription, assetNftInitAmount, assetNftDecimals, assetNftReissuable)
33- let shareIssueId = toBase58String(calculateAssetId(shareIssue))
34- let labelTaskName = ("taskName_" + shareIssueId)
35- let labelTaskStatus = ("taskStatus_" + shareIssueId)
36- let labelTaskAmount = ("taskAmount_" + shareIssueId)
32+ let nftIssue = Issue(assetName, assetDescription, assetNftInitAmount, assetNftDecimals, assetNftReissuable)
33+ let nftIssueId = toBase58String(calculateAssetId(nftIssue))
34+ let labelTaskName = ("taskName_" + nftIssueId)
35+ let labelTaskStatus = ("taskStatus_" + nftIssueId)
36+ let labelTaskAmount = ("taskAmount_" + nftIssueId)
3737 if ((size(i.payments) > 1))
3838 then throw("One attached assets expected")
3939 else if ((i.payments[0].assetId != assetWavesId))
4040 then throw("must be attached asset: WAVES")
4141 else if (isDefined(getString(this, labelTaskName)))
4242 then throw("Task with a specified name is already exists")
4343 else if ((assetAmountMinThreshold > i.payments[0].amount))
44- then throw("amount must be greater than the minimum threshold: 0.0001 WAVES")
44+ then throw((("amount must be greater than the minimum threshold: " + toString(assetAmountMinThreshold)) + " WAVES"))
4545 else if ((i.caller == addrContract))
4646 then throw("method may not be called from the contract")
47- else [StringEntry(labelTaskName, taskName), StringEntry(labelTaskStatus, taskStatusDefault), shareIssue, ScriptTransfer(addrContract, assetNftInitAmount, fromBase58String(shareIssueId)), ScriptTransfer(i.caller, assetNftInitAmount, fromBase58String(shareIssueId)), StringEntry(labelTaskStatus, taskStatusDefault), ScriptTransfer(addrContract, intAssetinputIdAmount, assetWavesId), IntegerEntry(labelTaskAmount, intAssetinputIdAmount), IntegerEntry(labelTaskIdLast, taskLastId)]
47+ else [StringEntry(labelTaskName, taskName), StringEntry(labelTaskStatus, taskStatusDefault), nftIssue, ScriptTransfer(i.caller, assetNftInitAmount, fromBase58String(nftIssueId)), StringEntry(labelTaskStatus, taskStatusDefault), IntegerEntry(labelTaskAmount, intAssetinputIdAmount), IntegerEntry(labelTaskIdLast, taskLastId)]
4848 }
4949
5050
5151
5252 @Callable(i)
5353 func completeTask () = {
54- let $t025132605 = $Tuple2(i.payments[0].amount, value(i.payments[0].assetId))
55- let assetInputAmount = $t025132605._1
56- let assetInputId = $t025132605._2
54+ let $t024322524 = $Tuple2(i.payments[0].amount, value(i.payments[0].assetId))
55+ let assetInputAmount = $t024322524._1
56+ let assetInputId = $t024322524._2
5757 let labelTaskStatus = ("taskStatus_" + toBase58String(assetInputId))
5858 let labelTaskAmount = ("taskAmount_" + toBase58String(assetInputId))
5959 let stringAssetInputId = toBase58String(value(i.payments[0].assetId))
6060 let infoAssetInput = valueOrErrorMessage(assetInfo(value(i.payments[0].assetId)), (("Asset " + stringAssetInputId) + " doesn't exist"))
6161 let intAssetOutputIdAmount = getIntegerValue(this, labelTaskAmount)
6262 if ((size(i.payments) > 1))
6363 then throw("One attached assets expected")
6464 else if ((i.caller == addrContract))
6565 then throw("method may not be called from the contract")
6666 else if (if (if (if ((value(i.payments[0].amount) == assetNftInitAmount))
6767 then (value(infoAssetInput.decimals) == assetNftDecimals)
6868 else false)
6969 then (value(infoAssetInput.reissuable) == assetNftReissuable)
7070 else false)
7171 then isDefined(getString(this, labelTaskStatus))
7272 else false)
7373 then [StringEntry(labelTaskStatus, taskStatusComplete), Burn(assetInputId, assetInputAmount), ScriptTransfer(i.caller, intAssetOutputIdAmount, assetWavesId)]
7474 else throw("Attached asset is not expected")
7575 }
7676
7777
7878
7979 @Callable(i)
8080 func removeTask () = {
81- let $t038123904 = $Tuple2(i.payments[0].amount, value(i.payments[0].assetId))
82- let assetInputAmount = $t038123904._1
83- let assetInputId = $t038123904._2
81+ let $t037313823 = $Tuple2(i.payments[0].amount, value(i.payments[0].assetId))
82+ let assetInputAmount = $t037313823._1
83+ let assetInputId = $t037313823._2
8484 let labelTaskAmount = ("taskAmount_" + toBase58String(assetInputId))
8585 let labelTaskStatus = ("taskStatus_" + toBase58String(assetInputId))
8686 let labelTaskName = ("taskName_" + toBase58String(assetInputId))
8787 let stringAssetInputId = toBase58String(value(i.payments[0].assetId))
8888 let infoAssetInput = valueOrErrorMessage(assetInfo(value(i.payments[0].assetId)), (("Asset " + stringAssetInputId) + " doesn't exist"))
8989 if ((size(i.payments) > 1))
9090 then throw("One attached assets expected")
9191 else if ((i.caller == addrContract))
9292 then throw("method may not be called from the contract")
9393 else if (if (if ((value(infoAssetInput.decimals) == assetNftDecimals))
9494 then (value(infoAssetInput.reissuable) == assetNftReissuable)
9595 else false)
9696 then isDefined(getString(this, labelTaskStatus))
9797 else false)
9898 then {
9999 let taskStatus = getString(this, labelTaskStatus)
100100 if (if ((taskStatus == taskStatusDefault))
101101 then (value(i.payments[0].amount) == assetNftInitAmount)
102102 else false)
103103 then {
104104 let intAssetOutputIdAmount = pow(getIntegerValue(this, labelTaskAmount), 0, 1, 0, decimalsAssetWaves, DOWN)
105105 [Burn(assetInputId, assetInputAmount), ScriptTransfer(i.caller, intAssetOutputIdAmount, assetWavesId), DeleteEntry(labelTaskAmount), DeleteEntry(labelTaskStatus), DeleteEntry(labelTaskName)]
106106 }
107107 else if ((taskStatusComplete == taskStatus))
108108 then [DeleteEntry(labelTaskAmount), DeleteEntry(labelTaskStatus), DeleteEntry(labelTaskName)]
109109 else throw("Task have a broken status")
110110 }
111111 else throw("Attached asset is not expected")
112112 }
113113
114114

github/deemru/w8io/026f985 
33.76 ms