tx · GC3nuBjfqgb1dVhqVYdFaGFnKLExD3rFkGerDPHPKVH6

3PLJHro4tbUssVMHY538QqsVZWPVHTUpHir:  -0.01000000 Waves

2023.05.05 12:13 [3629865] smart account 3PLJHro4tbUssVMHY538QqsVZWPVHTUpHir > SELF 0.00000000 Waves

{ "type": 13, "id": "GC3nuBjfqgb1dVhqVYdFaGFnKLExD3rFkGerDPHPKVH6", "fee": 1000000, "feeAssetId": null, "timestamp": 1683278122098, "version": 2, "chainId": 87, "sender": "3PLJHro4tbUssVMHY538QqsVZWPVHTUpHir", "senderPublicKey": "8er5GibY1hbf7RjN9rdnQW5Ua9xM7UtDohqbdEukAT7v", "proofs": [ "4xRAh7GVYiMfQpxHnVDu4Da189CgR2JLNHeiqDYa5Si4QLKtEVLNBqGY9xiqpZUAVpevhV61jxCRZdSnywX5iu2P" ], "script": "base64:BgIJCAISBQoDCAgBBwAQTGFzdENvbnRlc3RJZEtleQIPbGFzdF9jb250ZXN0X2lkAA1Db250ZXN0UHJlZml4Aghjb250ZXN0XwAMU3RhdHVzX0RyYWZ0AgVkcmFmdAANU3RhdHVzX0FjdGl2ZQIGYWN0aXZlAAtTdGF0dXNfU3RvcAIEc3RvcAANU3RhdHVzX0RlbHRlZAIHZGVsZXRlZAEOY2FsY1ByaXplRm91bmQBCHBheW1lbnRzCgEEY2FsYwIFYWNjdW0EbmV4dAQJYXNzZXROYW1lBAckbWF0Y2gwCAUEbmV4dAdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAXQFByRtYXRjaDAJANgEAQUBdAIFV0FWRVMDAwkAZgIJALECAQUJYXNzZXROYW1lAAAJAGYCCAUEbmV4dAZhbW91bnQAAAcJAM0IAgUFYWNjdW0JAKwCAgkArAICBQlhc3NldE5hbWUCAToJAKQDAQgFBG5leHQGYW1vdW50BQVhY2N1bQkAugkCCgACJGwFCHBheW1lbnRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQRjYWxjAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAgF8AQFpAQZjcmVhdGUDBG5hbWUEZGVzYwllbmRIZWlnaHQEDXByaXplRm91bmRTdHIJAQ5jYWxjUHJpemVGb3VuZAEIBQFpCHBheW1lbnRzAwkAAAIJALECAQUNcHJpemVGb3VuZFN0cgAACQACAQIRTm8gcGF5bWVudHMgZW1wdHkDCQAAAgkAsQIBBQRuYW1lAAAJAAIBAgpOYW1lIGVtcHR5AwkAAAIJALECAQUEZGVzYwAACQACAQIKRGVzYyBlbXB0eQMJAGYCBQZoZWlnaHQFCWVuZEhlaWdodAkAAgECEEludmFsaWQgZGF0ZSBlbmQECWNvbnRlc3RJZAkBC3ZhbHVlT3JFbHNlAgkAnwgBBRBMYXN0Q29udGVzdElkS2V5AAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFDUNvbnRlc3RQcmVmaXgJAKQDAQUJY29udGVzdElkAgVfbmFtZQUEbmFtZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUNQ29udGVzdFByZWZpeAkApAMBBQljb250ZXN0SWQCBV9kZXNjBQRkZXNjCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgUNQ29udGVzdFByZWZpeAkApAMBBQljb250ZXN0SWQCCl9lbmRIZWlnaHQFCWVuZEhlaWdodAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUNQ29udGVzdFByZWZpeAkApAMBBQljb250ZXN0SWQCBl9vd25lcgkApQgBCAUBaQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFDUNvbnRlc3RQcmVmaXgJAKQDAQUJY29udGVzdElkAgtfcHJpemVGb3VuZAUNcHJpemVGb3VuZFN0cgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUNQ29udGVzdFByZWZpeAkApAMBBQljb250ZXN0SWQCB19zdGF0dXMFDFN0YXR1c19EcmFmdAkAzAgCCQEMSW50ZWdlckVudHJ5AgUQTGFzdENvbnRlc3RJZEtleQkAZAIFCWNvbnRlc3RJZAABBQNuaWwBAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V568m7aQ==", "height": 3629865, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: ChRwMccoe1de7gNbYea5xusnEVaSq97uZEcVEafh5ov7 Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let LastContestIdKey = "last_contest_id"
5+
6+let ContestPrefix = "contest_"
7+
8+let Status_Draft = "draft"
9+
10+let Status_Active = "active"
11+
12+let Status_Stop = "stop"
13+
14+let Status_Delted = "deleted"
15+
16+func calcPrizeFound (payments) = {
17+ func calc (accum,next) = {
18+ let assetName = match next.assetId {
19+ case t: ByteVector =>
20+ toBase58String(t)
21+ case _ =>
22+ "WAVES"
23+ }
24+ if (if ((size(assetName) > 0))
25+ then (next.amount > 0)
26+ else false)
27+ then (accum :+ ((assetName + ":") + toString(next.amount)))
28+ else accum
29+ }
30+
31+ makeString_2C({
32+ let $l = payments
33+ let $s = size($l)
34+ let $acc0 = nil
35+ func $f0_1 ($a,$i) = if (($i >= $s))
36+ then $a
37+ else calc($a, $l[$i])
38+
39+ func $f0_2 ($a,$i) = if (($i >= $s))
40+ then $a
41+ else throw("List size exceeds 10")
42+
43+ $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)
44+ }, "|")
45+ }
46+
47+
48+@Callable(i)
49+func create (name,desc,endHeight) = {
50+ let prizeFoundStr = calcPrizeFound(i.payments)
51+ if ((size(prizeFoundStr) == 0))
52+ then throw("No payments empty")
53+ else if ((size(name) == 0))
54+ then throw("Name empty")
55+ else if ((size(desc) == 0))
56+ then throw("Desc empty")
57+ else if ((height > endHeight))
58+ then throw("Invalid date end")
59+ else {
60+ 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))]
62+ }
63+ }
64+
65+
66+@Verifier(tx)
67+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
68+

github/deemru/w8io/6500d08 
20.93 ms