tx · 95AdjdRsJKVxaUsQaXyPUvSQqFksaise2MHucuS6NKLv 3PAPVqsf4rWzHTS1tKCdMBdNB5TU79dVk4G: -0.00900000 Waves 2022.08.14 19:36 [3249894] smart account 3PAPVqsf4rWzHTS1tKCdMBdNB5TU79dVk4G > SELF 0.00000000 Waves
{ "type": 13, "id": "95AdjdRsJKVxaUsQaXyPUvSQqFksaise2MHucuS6NKLv", "fee": 900000, "feeAssetId": null, "timestamp": 1660494973627, "version": 2, "chainId": 87, "sender": "3PAPVqsf4rWzHTS1tKCdMBdNB5TU79dVk4G", "senderPublicKey": "FRchqWYnPf1f9jMJpVkvBwtBXKqqNkRxpXFqBbFP4r5Z", "proofs": [ "EtLXHZ12cVgJCWvjeZC3W3Wba57P4JzxndcY7ET7WzpRTi9QayYzRZreFt7CHfq6cbtKtgZ1iaiV7m14v9b1NQ3" ], "script": "base64:AAIFAAAAAAAAAAoIAhIECgIIARIAAAAABQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAAAAAAAAAAAAAQAAAAx0cnlHZXRTdHJpbmcAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgIAAAAAAQAAAA5nZXRBc3NldFN0cmluZwAAAAEAAAAHYXNzZXRJZAQAAAAHJG1hdGNoMAUAAAAHYXNzZXRJZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAABYgUAAAAHJG1hdGNoMAkAAlgAAAABBQAAAAFiAgAAAAVXQVZFUwEAAAANZ2V0QXNzZXRCeXRlcwAAAAEAAAAKYXNzZXRJZFN0cgMJAAAAAAAAAgUAAAAKYXNzZXRJZFN0cgIAAAAFV0FWRVMFAAAABHVuaXQJAAJZAAAAAQUAAAAKYXNzZXRJZFN0cgEAAAARcGF5Qm9vc3RpbmdSZXN1bHQAAAABAAAACmJvb3N0aW5nSWQEAAAACmxhc3RIZWlnaHQJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAICAAAACWJvb3N0aW5nXwUAAAAKYm9vc3RpbmdJZAIAAAALX2xhc3RIZWlnaHQDCQEAAAACIT0AAAACBQAAAApsYXN0SGVpZ2h0AAAAAAAAAAAABAAAAAtibG9ja1Jld2FyZAkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAJYm9vc3RpbmdfBQAAAApib29zdGluZ0lkAgAAAAxfYmxvY2tBbW91bnQEAAAABXRvUGF5CQAAaAAAAAIJAABlAAAAAgUAAAAGaGVpZ2h0BQAAAApsYXN0SGVpZ2h0BQAAAAtibG9ja1Jld2FyZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACWJvb3N0aW5nXwUAAAAKYm9vc3RpbmdJZAIAAAALX2xhc3RIZWlnaHQFAAAABmhlaWdodAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkAASwAAAACCQABLAAAAAICAAAACWJvb3N0aW5nXwUAAAAKYm9vc3RpbmdJZAIAAAAHX3Bvb2xJZAUAAAAFdG9QYXkJAAJZAAAAAQkBAAAADHRyeUdldFN0cmluZwAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAlib29zdGluZ18FAAAACmJvb3N0aW5nSWQCAAAACF9hc3NldElkBQAAAANuaWwFAAAAA25pbAAAAAIAAAABaQEAAAALYWRkQm9vc3RpbmcAAAACAAAABnBvb2xJZAAAAARkYXlzBAAAAApmdWxsQW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQEAAAAB2Fzc2V0SWQJAQAAAA5nZXRBc3NldFN0cmluZwAAAAEICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAAEm5ld0Jvb3N0aW5nc0Ftb3VudAkAAGQAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAFmdsb2JhbF9ib29zdGluZ3NBbW91bnQAAAAAAAAAAAEEAAAACmJvb3N0aW5nSWQJAAGkAAAAAQUAAAASbmV3Qm9vc3RpbmdzQW1vdW50AwkAAAAAAAACCQAEJgAAAAEFAAAABnBvb2xJZAUAAAAEdW5pdAkAAAIAAAABAgAAABZpbmNvcnJlY3QgcG9vbCBhZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJYm9vc3RpbmdfBQAAAApib29zdGluZ0lkAgAAAAVfZGF5cwUAAAAEZGF5cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACWJvb3N0aW5nXwUAAAAKYm9vc3RpbmdJZAIAAAAMX3RvdGFsQW1vdW50BQAAAApmdWxsQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJYm9vc3RpbmdfBQAAAApib29zdGluZ0lkAgAAAAxfZGFpbHlBbW91bnQJAABpAAAAAgUAAAAKZnVsbEFtb3VudAUAAAAEZGF5cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACWJvb3N0aW5nXwUAAAAKYm9vc3RpbmdJZAIAAAAMX2Jsb2NrQW1vdW50CQAAaQAAAAIFAAAACmZ1bGxBbW91bnQJAABoAAAAAgkAAGgAAAACBQAAAARkYXlzAAAAAAAAAAAYAAAAAAAAAAA8CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJYm9vc3RpbmdfBQAAAApib29zdGluZ0lkAgAAAAxfc3RhcnRIZWlnaHQFAAAABmhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACWJvb3N0aW5nXwUAAAAKYm9vc3RpbmdJZAIAAAANX2ZpbmlzaEhlaWdodAkAAGQAAAACBQAAAAZoZWlnaHQJAABoAAAAAgkAAGgAAAACBQAAAARkYXlzAAAAAAAAAAAYAAAAAAAAAAA8CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJYm9vc3RpbmdfBQAAAApib29zdGluZ0lkAgAAABBfZmluaXNoVGltZXN0YW1wCQAAZAAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQAAaAAAAAIJAABoAAAAAgkAAGgAAAACBQAAAARkYXlzAAAAAAAAAAAYAAAAAAAAAAA8AAAAAAAAAAA8CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJYm9vc3RpbmdfBQAAAApib29zdGluZ0lkAgAAAAtfbGFzdEhlaWdodAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAlib29zdGluZ18FAAAACmJvb3N0aW5nSWQCAAAACF9hc3NldElkBQAAAAdhc3NldElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAlib29zdGluZ18FAAAACmJvb3N0aW5nSWQCAAAABl9vd25lcgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACWJvb3N0aW5nXwUAAAAKYm9vc3RpbmdJZAIAAAAHX3Bvb2xJZAUAAAAGcG9vbElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAVwb29sXwUAAAAGcG9vbElkAgAAAApfYm9vc3RpbmdzCQABLAAAAAIJAAEsAAAAAgkBAAAADHRyeUdldFN0cmluZwAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAVwb29sXwUAAAAGcG9vbElkAgAAAApfYm9vc3RpbmdzBQAAAApib29zdGluZ0lkAgAAAAEsBQAAAANuaWwAAAABaQEAAAAMcGF5Qm9vc3RpbmdzAAAAAAoBAAAAAWYAAAACAAAABWFjY3VtAAAABG5leHQJAAROAAAAAgUAAAAFYWNjdW0JAQAAABFwYXlCb29zdGluZ1Jlc3VsdAAAAAEJAAGkAAAAAQUAAAAEbmV4dAQAAAACbGkJAARMAAAAAgAAAAAAAAAAAQkABEwAAAACAAAAAAAAAAACCQAETAAAAAIAAAAAAAAAAAMJAARMAAAAAgAAAAAAAAAABAkABEwAAAACAAAAAAAAAAAFCQAETAAAAAIAAAAAAAAAAAYJAARMAAAAAgAAAAAAAAAABwkABEwAAAACAAAAAAAAAAAICQAETAAAAAIAAAAAAAAAAAkJAARMAAAAAgAAAAAAAAAACgkABEwAAAACAAAAAAAAAAALCQAETAAAAAIAAAAAAAAAAAwJAARMAAAAAgAAAAAAAAAADQkABEwAAAACAAAAAAAAAAAOCQAETAAAAAIAAAAAAAAAAA8JAARMAAAAAgAAAAAAAAAAEAkABEwAAAACAAAAAAAAAAARCQAETAAAAAIAAAAAAAAAABIJAARMAAAAAgAAAAAAAAAAEwkABEwAAAACAAAAAAAAAAAUCQAETAAAAAIAAAAAAAAAABUJAARMAAAAAgAAAAAAAAAAFgkABEwAAAACAAAAAAAAAAAXCQAETAAAAAIAAAAAAAAAABgJAARMAAAAAgAAAAAAAAAAGQkABEwAAAACAAAAAAAAAAAaCQAETAAAAAIAAAAAAAAAABsJAARMAAAAAgAAAAAAAAAAHAkABEwAAAACAAAAAAAAAAAdCQAETAAAAAIAAAAAAAAAAB4JAARMAAAAAgAAAAAAAAAAHwkABEwAAAACAAAAAAAAAAAgCQAETAAAAAIAAAAAAAAAACEJAARMAAAAAgAAAAAAAAAAIgUAAAADbmlsCgAAAAACJGwFAAAAAmxpCgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAUAAAADbmlsCgEAAAAFJGYwXzEAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQEAAAABZgAAAAIFAAAAAiRhCQABkQAAAAIFAAAAAiRsBQAAAAIkaQoBAAAABSRmMF8yAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABRMaXN0IHNpemUgZXhjZWVkcyAzNQkBAAAABSRmMF8yAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgUAAAAFJGFjYzAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAYAAAAAAAAAAAcAAAAAAAAAAAgAAAAAAAAAAAkAAAAAAAAAAAoAAAAAAAAAAAsAAAAAAAAAAAwAAAAAAAAAAA0AAAAAAAAAAA4AAAAAAAAAAA8AAAAAAAAAABAAAAAAAAAAABEAAAAAAAAAABIAAAAAAAAAABMAAAAAAAAAABQAAAAAAAAAABUAAAAAAAAAABYAAAAAAAAAABcAAAAAAAAAABgAAAAAAAAAABkAAAAAAAAAABoAAAAAAAAAABsAAAAAAAAAABwAAAAAAAAAAB0AAAAAAAAAAB4AAAAAAAAAAB8AAAAAAAAAACAAAAAAAAAAACEAAAAAAAAAACIAAAAAAAAAACMAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tled8yDu8=", "height": 3249894, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BG5QWdP7tyVXSjm1Uqqfnk6RGE1r1uBWASvg5Dq3Q4ci Next: DSkSSg6iyu5ngYMiPBteSz9zx2SjC4NuwucZhHaeE3WH Diff:
Old | New | Differences | |
---|---|---|---|
50 | 50 | let boostingId = toString(newBoostingsAmount) | |
51 | 51 | if ((addressFromString(poolId) == unit)) | |
52 | 52 | then throw("incorrect pool address") | |
53 | - | else [IntegerEntry((("boosting_" + boostingId) + "_days"), days), IntegerEntry((("boosting_" + boostingId) + "_totalAmount"), fullAmount), IntegerEntry((("boosting_" + boostingId) + "_dailyAmount"), (fullAmount / days)), IntegerEntry((("boosting_" + boostingId) + "_blockAmount"), (fullAmount / ((days * 24) * 60))), IntegerEntry((("boosting_" + boostingId) + "_startHeight"), height), IntegerEntry((("boosting_" + boostingId) + "_finishHeight"), (height + ((days * 24) * 60))), IntegerEntry((("boosting_" + boostingId) + "_lastHeight"), height), StringEntry((("boosting_" + boostingId) + "_assetId"), assetId), StringEntry((("boosting_" + boostingId) + "_owner"), toString(i.caller)), StringEntry((("boosting_" + boostingId) + "_poolId"), poolId), StringEntry((("pool_" + poolId) + "_boostings"), ((tryGetString((("pool_" + poolId) + "_boostings")) + boostingId) + ","))] | |
53 | + | else [IntegerEntry((("boosting_" + boostingId) + "_days"), days), IntegerEntry((("boosting_" + boostingId) + "_totalAmount"), fullAmount), IntegerEntry((("boosting_" + boostingId) + "_dailyAmount"), (fullAmount / days)), IntegerEntry((("boosting_" + boostingId) + "_blockAmount"), (fullAmount / ((days * 24) * 60))), IntegerEntry((("boosting_" + boostingId) + "_startHeight"), height), IntegerEntry((("boosting_" + boostingId) + "_finishHeight"), (height + ((days * 24) * 60))), IntegerEntry((("boosting_" + boostingId) + "_finishTimestamp"), (lastBlock.timestamp + (((days * 24) * 60) * 60))), IntegerEntry((("boosting_" + boostingId) + "_lastHeight"), height), StringEntry((("boosting_" + boostingId) + "_assetId"), assetId), StringEntry((("boosting_" + boostingId) + "_owner"), toString(i.caller)), StringEntry((("boosting_" + boostingId) + "_poolId"), poolId), StringEntry((("pool_" + poolId) + "_boostings"), ((tryGetString((("pool_" + poolId) + "_boostings")) + boostingId) + ","))] | |
54 | 54 | } | |
55 | 55 | ||
56 | 56 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func tryGetInteger (key) = match getInteger(this, key) { | |
5 | 5 | case b: Int => | |
6 | 6 | b | |
7 | 7 | case _ => | |
8 | 8 | 0 | |
9 | 9 | } | |
10 | 10 | ||
11 | 11 | ||
12 | 12 | func tryGetString (key) = match getString(this, key) { | |
13 | 13 | case b: String => | |
14 | 14 | b | |
15 | 15 | case _ => | |
16 | 16 | "" | |
17 | 17 | } | |
18 | 18 | ||
19 | 19 | ||
20 | 20 | func getAssetString (assetId) = match assetId { | |
21 | 21 | case b: ByteVector => | |
22 | 22 | toBase58String(b) | |
23 | 23 | case _ => | |
24 | 24 | "WAVES" | |
25 | 25 | } | |
26 | 26 | ||
27 | 27 | ||
28 | 28 | func getAssetBytes (assetIdStr) = if ((assetIdStr == "WAVES")) | |
29 | 29 | then unit | |
30 | 30 | else fromBase58String(assetIdStr) | |
31 | 31 | ||
32 | 32 | ||
33 | 33 | func payBoostingResult (boostingId) = { | |
34 | 34 | let lastHeight = tryGetInteger((("boosting_" + boostingId) + "_lastHeight")) | |
35 | 35 | if ((lastHeight != 0)) | |
36 | 36 | then { | |
37 | 37 | let blockReward = tryGetInteger((("boosting_" + boostingId) + "_blockAmount")) | |
38 | 38 | let toPay = ((height - lastHeight) * blockReward) | |
39 | 39 | [IntegerEntry((("boosting_" + boostingId) + "_lastHeight"), height), ScriptTransfer(addressFromStringValue(tryGetString((("boosting_" + boostingId) + "_poolId"))), toPay, fromBase58String(tryGetString((("boosting_" + boostingId) + "_assetId"))))] | |
40 | 40 | } | |
41 | 41 | else nil | |
42 | 42 | } | |
43 | 43 | ||
44 | 44 | ||
45 | 45 | @Callable(i) | |
46 | 46 | func addBoosting (poolId,days) = { | |
47 | 47 | let fullAmount = i.payments[0].amount | |
48 | 48 | let assetId = getAssetString(i.payments[0].assetId) | |
49 | 49 | let newBoostingsAmount = (tryGetInteger("global_boostingsAmount") + 1) | |
50 | 50 | let boostingId = toString(newBoostingsAmount) | |
51 | 51 | if ((addressFromString(poolId) == unit)) | |
52 | 52 | then throw("incorrect pool address") | |
53 | - | else [IntegerEntry((("boosting_" + boostingId) + "_days"), days), IntegerEntry((("boosting_" + boostingId) + "_totalAmount"), fullAmount), IntegerEntry((("boosting_" + boostingId) + "_dailyAmount"), (fullAmount / days)), IntegerEntry((("boosting_" + boostingId) + "_blockAmount"), (fullAmount / ((days * 24) * 60))), IntegerEntry((("boosting_" + boostingId) + "_startHeight"), height), IntegerEntry((("boosting_" + boostingId) + "_finishHeight"), (height + ((days * 24) * 60))), IntegerEntry((("boosting_" + boostingId) + "_lastHeight"), height), StringEntry((("boosting_" + boostingId) + "_assetId"), assetId), StringEntry((("boosting_" + boostingId) + "_owner"), toString(i.caller)), StringEntry((("boosting_" + boostingId) + "_poolId"), poolId), StringEntry((("pool_" + poolId) + "_boostings"), ((tryGetString((("pool_" + poolId) + "_boostings")) + boostingId) + ","))] | |
53 | + | else [IntegerEntry((("boosting_" + boostingId) + "_days"), days), IntegerEntry((("boosting_" + boostingId) + "_totalAmount"), fullAmount), IntegerEntry((("boosting_" + boostingId) + "_dailyAmount"), (fullAmount / days)), IntegerEntry((("boosting_" + boostingId) + "_blockAmount"), (fullAmount / ((days * 24) * 60))), IntegerEntry((("boosting_" + boostingId) + "_startHeight"), height), IntegerEntry((("boosting_" + boostingId) + "_finishHeight"), (height + ((days * 24) * 60))), IntegerEntry((("boosting_" + boostingId) + "_finishTimestamp"), (lastBlock.timestamp + (((days * 24) * 60) * 60))), IntegerEntry((("boosting_" + boostingId) + "_lastHeight"), height), StringEntry((("boosting_" + boostingId) + "_assetId"), assetId), StringEntry((("boosting_" + boostingId) + "_owner"), toString(i.caller)), StringEntry((("boosting_" + boostingId) + "_poolId"), poolId), StringEntry((("pool_" + poolId) + "_boostings"), ((tryGetString((("pool_" + poolId) + "_boostings")) + boostingId) + ","))] | |
54 | 54 | } | |
55 | 55 | ||
56 | 56 | ||
57 | 57 | ||
58 | 58 | @Callable(i) | |
59 | 59 | func payBoostings () = { | |
60 | 60 | func f (accum,next) = (accum ++ payBoostingResult(toString(next))) | |
61 | 61 | ||
62 | 62 | let li = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34] | |
63 | 63 | let $l = li | |
64 | 64 | let $s = size($l) | |
65 | 65 | let $acc0 = nil | |
66 | 66 | func $f0_1 ($a,$i) = if (($i >= $s)) | |
67 | 67 | then $a | |
68 | 68 | else f($a, $l[$i]) | |
69 | 69 | ||
70 | 70 | func $f0_2 ($a,$i) = if (($i >= $s)) | |
71 | 71 | then $a | |
72 | 72 | else throw("List size exceeds 35") | |
73 | 73 | ||
74 | 74 | $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($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), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35) | |
75 | 75 | } | |
76 | 76 | ||
77 | 77 | ||
78 | 78 | @Verifier(tx) | |
79 | 79 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
80 | 80 |
github/deemru/w8io/3ef1775 37.04 ms ◑