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:
Old | New | Differences | |
---|---|---|---|
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 ◑