tx · ChRwMccoe1de7gNbYea5xusnEVaSq97uZEcVEafh5ov7

3PLJHro4tbUssVMHY538QqsVZWPVHTUpHir:  -0.01000000 Waves

2023.05.05 12:16 [3629867] smart account 3PLJHro4tbUssVMHY538QqsVZWPVHTUpHir > SELF 0.00000000 Waves

{ "type": 13, "id": "ChRwMccoe1de7gNbYea5xusnEVaSq97uZEcVEafh5ov7", "fee": 1000000, "feeAssetId": null, "timestamp": 1683278258890, "version": 2, "chainId": 87, "sender": "3PLJHro4tbUssVMHY538QqsVZWPVHTUpHir", "senderPublicKey": "8er5GibY1hbf7RjN9rdnQW5Ua9xM7UtDohqbdEukAT7v", "proofs": [ "5PXEpTiNCh5mrJyq2rE4kdgZEV7RvPDiXE1ZxRx1YZn1VWDa33xEzbB4t8MWfZj7FmctkgmbLb1wVWywLYpy5hKE" ], "script": "base64:BgIJCAISBQoDCAgBBwAQTGFzdENvbnRlc3RJZEtleQIPbGFzdF9jb250ZXN0X2lkAA1Db250ZXN0UHJlZml4Aghjb250ZXN0XwAMU3RhdHVzX0RyYWZ0AgVkcmFmdAANU3RhdHVzX0FjdGl2ZQIGYWN0aXZlAAtTdGF0dXNfU3RvcAIEc3RvcAANU3RhdHVzX0RlbHRlZAIHZGVsZXRlZAEOY2FsY1ByaXplRm91bmQBCHBheW1lbnRzCgEEY2FsYwIFYWNjdW0EbmV4dAQJYXNzZXROYW1lBAckbWF0Y2gwCAUEbmV4dAdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAXQFByRtYXRjaDAJANgEAQUBdAIFV0FWRVMDAwkAZgIJALECAQUJYXNzZXROYW1lAAAJAGYCCAUEbmV4dAZhbW91bnQAAAcJAM0IAgUFYWNjdW0JAKwCAgkArAICBQlhc3NldE5hbWUCAToJAKQDAQgFBG5leHQGYW1vdW50BQVhY2N1bQkAugkCCgACJGwFCHBheW1lbnRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQRjYWxjAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAgF8AQFpAQZjcmVhdGUDBG5hbWUEZGVzYwllbmRIZWlnaHQEDXByaXplRm91bmRTdHIJAQ5jYWxjUHJpemVGb3VuZAEIBQFpCHBheW1lbnRzAwkAAAIJALECAQUNcHJpemVGb3VuZFN0cgAACQACAQIRTm8gcGF5bWVudHMgZW1wdHkDCQAAAgkAsQIBBQRuYW1lAAAJAAIBAgpOYW1lIGVtcHR5AwkAAAIJALECAQUEZGVzYwAACQACAQIKRGVzYyBlbXB0eQMJAGYCBQZoZWlnaHQFCWVuZEhlaWdodAkAAgECEEludmFsaWQgZGF0ZSBlbmQECWNvbnRlc3RJZAkBC3ZhbHVlT3JFbHNlAgkAnwgBBRBMYXN0Q29udGVzdElkS2V5AAEJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUNQ29udGVzdFByZWZpeAkApAMBBQljb250ZXN0SWQCBV9uYW1lBQRuYW1lCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQ1Db250ZXN0UHJlZml4CQCkAwEFCWNvbnRlc3RJZAIFX2Rlc2MFBGRlc2MJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICBQ1Db250ZXN0UHJlZml4CQCkAwEFCWNvbnRlc3RJZAIKX2VuZEhlaWdodAUJZW5kSGVpZ2h0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQ1Db250ZXN0UHJlZml4CQCkAwEFCWNvbnRlc3RJZAIGX293bmVyCQClCAEIBQFpBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUNQ29udGVzdFByZWZpeAkApAMBBQljb250ZXN0SWQCC19wcml6ZUZvdW5kBQ1wcml6ZUZvdW5kU3RyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQ1Db250ZXN0UHJlZml4CQCkAwEFCWNvbnRlc3RJZAIHX3N0YXR1cwUMU3RhdHVzX0RyYWZ0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRBMYXN0Q29udGVzdElkS2V5CQBkAgUJY29udGVzdElkAAEFA25pbAUJY29udGVzdElkAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tlebVo3Dk=", "height": 3629867, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GC3nuBjfqgb1dVhqVYdFaGFnKLExD3rFkGerDPHPKVH6 Next: ePPXtX7Dztm4xosyPuYDoYRFbMxWQMkjppEYkxTD5Jw Diff:
OldNewDifferences
5858 then throw("Invalid date end")
5959 else {
6060 let contestId = valueOrElse(getInteger(LastContestIdKey), 1)
61-[StringEntry(((ContestPrefix + toString(contestId)) + "_name"), name), StringEntry(((ContestPrefix + toString(contestId)) + "_desc"), desc), IntegerEntry(((ContestPrefix + toString(contestId)) + "_endHeight"), endHeight), StringEntry(((ContestPrefix + toString(contestId)) + "_owner"), toString(i.caller)), StringEntry(((ContestPrefix + toString(contestId)) + "_prizeFound"), prizeFoundStr), StringEntry(((ContestPrefix + toString(contestId)) + "_status"), Status_Draft), IntegerEntry(LastContestIdKey, (contestId + 1))]
61+ $Tuple2([StringEntry(((ContestPrefix + toString(contestId)) + "_name"), name), StringEntry(((ContestPrefix + toString(contestId)) + "_desc"), desc), IntegerEntry(((ContestPrefix + toString(contestId)) + "_endHeight"), endHeight), StringEntry(((ContestPrefix + toString(contestId)) + "_owner"), toString(i.caller)), StringEntry(((ContestPrefix + toString(contestId)) + "_prizeFound"), prizeFoundStr), StringEntry(((ContestPrefix + toString(contestId)) + "_status"), Status_Draft), IntegerEntry(LastContestIdKey, (contestId + 1))], contestId)
6262 }
6363 }
6464
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let LastContestIdKey = "last_contest_id"
55
66 let ContestPrefix = "contest_"
77
88 let Status_Draft = "draft"
99
1010 let Status_Active = "active"
1111
1212 let Status_Stop = "stop"
1313
1414 let Status_Delted = "deleted"
1515
1616 func calcPrizeFound (payments) = {
1717 func calc (accum,next) = {
1818 let assetName = match next.assetId {
1919 case t: ByteVector =>
2020 toBase58String(t)
2121 case _ =>
2222 "WAVES"
2323 }
2424 if (if ((size(assetName) > 0))
2525 then (next.amount > 0)
2626 else false)
2727 then (accum :+ ((assetName + ":") + toString(next.amount)))
2828 else accum
2929 }
3030
3131 makeString_2C({
3232 let $l = payments
3333 let $s = size($l)
3434 let $acc0 = nil
3535 func $f0_1 ($a,$i) = if (($i >= $s))
3636 then $a
3737 else calc($a, $l[$i])
3838
3939 func $f0_2 ($a,$i) = if (($i >= $s))
4040 then $a
4141 else throw("List size exceeds 10")
4242
4343 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
4444 }, "|")
4545 }
4646
4747
4848 @Callable(i)
4949 func create (name,desc,endHeight) = {
5050 let prizeFoundStr = calcPrizeFound(i.payments)
5151 if ((size(prizeFoundStr) == 0))
5252 then throw("No payments empty")
5353 else if ((size(name) == 0))
5454 then throw("Name empty")
5555 else if ((size(desc) == 0))
5656 then throw("Desc empty")
5757 else if ((height > endHeight))
5858 then throw("Invalid date end")
5959 else {
6060 let contestId = valueOrElse(getInteger(LastContestIdKey), 1)
61-[StringEntry(((ContestPrefix + toString(contestId)) + "_name"), name), StringEntry(((ContestPrefix + toString(contestId)) + "_desc"), desc), IntegerEntry(((ContestPrefix + toString(contestId)) + "_endHeight"), endHeight), StringEntry(((ContestPrefix + toString(contestId)) + "_owner"), toString(i.caller)), StringEntry(((ContestPrefix + toString(contestId)) + "_prizeFound"), prizeFoundStr), StringEntry(((ContestPrefix + toString(contestId)) + "_status"), Status_Draft), IntegerEntry(LastContestIdKey, (contestId + 1))]
61+ $Tuple2([StringEntry(((ContestPrefix + toString(contestId)) + "_name"), name), StringEntry(((ContestPrefix + toString(contestId)) + "_desc"), desc), IntegerEntry(((ContestPrefix + toString(contestId)) + "_endHeight"), endHeight), StringEntry(((ContestPrefix + toString(contestId)) + "_owner"), toString(i.caller)), StringEntry(((ContestPrefix + toString(contestId)) + "_prizeFound"), prizeFoundStr), StringEntry(((ContestPrefix + toString(contestId)) + "_status"), Status_Draft), IntegerEntry(LastContestIdKey, (contestId + 1))], contestId)
6262 }
6363 }
6464
6565
6666 @Verifier(tx)
6767 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
6868

github/deemru/w8io/3ef1775 
32.57 ms