tx · 2sds4u3WhpPAqVkViygwzBFxMegH9G7zknoZ8DK1nzpn

3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez:  -0.01200000 Waves

2023.11.01 12:22 [2824070] smart account 3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez > SELF 0.00000000 Waves

{ "type": 13, "id": "2sds4u3WhpPAqVkViygwzBFxMegH9G7zknoZ8DK1nzpn", "fee": 1200000, "feeAssetId": null, "timestamp": 1698830579171, "version": 2, "chainId": 84, "sender": "3MqEAEVk1NcbRAuEPAX7nyzUqMHbhvRofez", "senderPublicKey": "Brp6cacBXyKUcZr5Uc6VDKsnFcaEeQ8nQzrZQyobDsuf", "proofs": [ "271U8qznXnrj97M3yS5nKYRFD4LFT2k5tkcMBMr2AJAfiwyEv6BATMVdGbUMX41rJWZdkKzovWqABrw5jKdNnPco" ], "script": "base64:AAIFAAAAAAAAABgIAhIECgIIARIDCgEIEgASAwoBCBIAEgAAAAAJAAAAAAJsaQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATUJAARMAAAAAgIAAAABNgkABEwAAAACAgAAAAE3CQAETAAAAAICAAAAATgJAARMAAAAAgIAAAABOQkABEwAAAACAgAAAAIxMAkABEwAAAACAgAAAAIxMQkABEwAAAACAgAAAAIxMgkABEwAAAACAgAAAAIxMwkABEwAAAACAgAAAAIxNAkABEwAAAACAgAAAAIxNQkABEwAAAACAgAAAAIxNgkABEwAAAACAgAAAAIxNwkABEwAAAACAgAAAAIxOAkABEwAAAACAgAAAAIxOQkABEwAAAACAgAAAAIyMAkABEwAAAACAgAAAAIyMQkABEwAAAACAgAAAAIyMgkABEwAAAACAgAAAAIyMwkABEwAAAACAgAAAAIyNAkABEwAAAACAgAAAAIyNQkABEwAAAACAgAAAAIyNgkABEwAAAACAgAAAAIyNwkABEwAAAACAgAAAAIyOAkABEwAAAACAgAAAAIyOQkABEwAAAACAgAAAAIzMAkABEwAAAACAgAAAAIzMQkABEwAAAACAgAAAAIzMgkABEwAAAACAgAAAAIzMwkABEwAAAACAgAAAAIzNAkABEwAAAACAgAAAAIzNQkABEwAAAACAgAAAAIzNgkABEwAAAACAgAAAAIzNwkABEwAAAACAgAAAAIzOAkABEwAAAACAgAAAAIzOQkABEwAAAACAgAAAAI0MAkABEwAAAACAgAAAAI0MQkABEwAAAACAgAAAAI0MgkABEwAAAACAgAAAAI0MwkABEwAAAACAgAAAAI0NAkABEwAAAACAgAAAAI0NQkABEwAAAACAgAAAAI0NgkABEwAAAACAgAAAAI0NwkABEwAAAACAgAAAAI0OAkABEwAAAACAgAAAAI0OQkABEwAAAACAgAAAAI1MAkABEwAAAACAgAAAAI1MQkABEwAAAACAgAAAAI1MgkABEwAAAACAgAAAAI1MwkABEwAAAACAgAAAAI1NQkABEwAAAACAgAAAAI1NgUAAAADbmlsAAAAAAVob3VycwAAAAAAAAAAAQAAAAAHbWludXRl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AAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIFAAAABSRhY2MwAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAAAAAAAAAAAJAAAAAAAAAAAKAAAAAAAAAAALAAAAAAAAAAAMAAAAAAAAAAANAAAAAAAAAAAOAAAAAAAAAAAPAAAAAAAAAAAQAAAAAAAAAAARAAAAAAAAAAASAAAAAAAAAAATAAAAAAAAAAAUAAAAAAAAAAAVAAAAAAAAAAAWAAAAAAAAAAAXAAAAAAAAAAAYAAAAAAAAAAAZAAAAAAAAAAAaAAAAAAAAAAAbAAAAAAAAAAAcAAAAAAAAAAAdAAAAAAAAAAAeAAAAAAAAAAAfAAAAAAAAAAAgAAAAAAAAAAAhAAAAAAAAAAAiAAAAAAAAAAAjAAAAAAAAAAAkAAAAAAAAAAAlAAAAAAAAAAAmAAAAAAAAAAAnAAAAAAAAAAAoAAAAAAAAAAApAAAAAAAAAAAqAAAAAAAAAAArAAAAAAAAAAAsAAAAAAAAAAAtAAAAAAAAAAAuAAAAAAAAAAAvAAAAAAAAAAAwAAAAAAAAAAAxAAAAAAAAAAAyAAAAAAAAAAAzAAAAAAAAAAA0AAAAAAAAAAA1AAAAAAAAAAA2AAAAAAAAAAA3AAAAAAAAAAA4AwkAAAAAAAACBQAAAAhwYXltZW50cwUAAAAIcGF5bWVudHMFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAOZW5kZWRCb29zdGluZ3MAAAABAAAACmJvb3N0aW5nSWQJAQAAABBlbmRlZEJvb3N0aW5nSWRzAAAAAQUAAAAKYm9vc3RpbmdJZAAAAAFpAQAAAAplbnRyeUVuZGVkAAAAAAoBAAAAAWYAAAACAAAABWFjY3VtAAAABG5leHQEAAAAAmluCQAD/AAAAAQFAAAABHRoaXMCAAAADmVuZGVkQm9vc3RpbmdzCQAETAAAAAIFAAAABG5leHQFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAJpbgUAAAACaW4FAAAAAmluCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQAAAADZW5kCgAAAAACJGwFAAAAAmxpCgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAAAAAAAAAAAAAoBAAAABSRmMF8xAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAAAWYAAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAUkZjBfMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAAUTGlzdCBzaXplIGV4Y2VlZHMgNTYJAQAAAAUkZjBfMgAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIFAAAABSRhY2Mw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", "height": 2824070, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HDPiqkgCseAd7ufnAYvpbs2oy2nE5VTP3mvateh6Ekvo Next: Abx553A48RhWokDnYebkgZJYmo3BezxaS7ajyA5qbPp2 Diff:
OldNewDifferences
4444 else false)
4545 then {
4646 let blockReward = (tryGetInteger((("boosting_" + boostingId) + "_totalAmount")) / ((tryGetInteger((("boosting_" + boostingId) + "_days")) * hours) * minutes))
47- let toPay = ((min([finishHeight, height]) - lastHeight) * blockReward)
47+ let toPay = fraction((min([finishHeight, height]) - lastHeight), blockReward, 1)
4848 [IntegerEntry((("boosting_" + boostingId) + "_lastHeight"), height), ScriptTransfer(addressFromStringValue(tryGetString((("boosting_" + boostingId) + "_poolId"))), toPay, getAssetBytes(tryGetString((("boosting_" + boostingId) + "_assetId"))))]
4949 }
5050 else nil
6565 then throw("amount of days has to be between 1 and 365")
6666 else if ((days > 365))
6767 then throw("amount of days has to be between 1 and 365")
68- else {
69- let fullAmount = i.payments[0].amount
70- if ((1440 > (fullAmount / days)))
71- then throw((("boosting amount too small, minimum is " + toString((1440 * days))) + " of the smallest unit of payment asset"))
72- else {
73- let assetId = getAssetString(i.payments[0].assetId)
74- if ((height == tryGetInteger("height")))
75- then throw("wait 1 minute")
76- else {
77- let entry = invoke(this, "entryEnded", nil, nil)
78- if ((entry == entry))
79- then {
80- let get = invoke(this, "firstEndedBoostingId", nil, nil)
81- if ((get == get))
82- then {
83- let boostingId = toString(tryGetInteger("first"))
84- if ((addressFromString(poolId) == unit))
85- then throw("incorrect pool address")
86- else [IntegerEntry((("boosting_" + boostingId) + "_days"), days), IntegerEntry((("boosting_" + boostingId) + "_totalAmount"), fullAmount), IntegerEntry((("boosting_" + boostingId) + "_dailyAmount"), (fullAmount / days)), IntegerEntry((("boosting_" + boostingId) + "_startHeight"), height), IntegerEntry((("boosting_" + boostingId) + "_finishHeight"), (height + ((days * hours) * minutes))), IntegerEntry((("boosting_" + boostingId) + "_finishTimestamp"), (lastBlock.timestamp + ((((days * hours) * minutes) * 60) * 1000))), 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) + ","))]
87- }
88- else throw("Strict value is not equal to itself.")
89- }
90- else throw("Strict value is not equal to itself.")
91- }
92- }
93- }
68+ else if (if ((i.caller != this))
69+ then (i.caller != Address(base58'3P8qVX189qpoTJZQQQdKS9endHK5sxWsvrd'))
70+ else false)
71+ then throw("under maintenance until further notice")
72+ else {
73+ let fullAmount = i.payments[0].amount
74+ if ((1440 > (fullAmount / days)))
75+ then throw((("boosting amount too small, minimum is " + toString((1440 * days))) + " of the smallest unit of payment asset"))
76+ else {
77+ let assetId = getAssetString(i.payments[0].assetId)
78+ if ((height == tryGetInteger("height")))
79+ then throw("wait 1 minute")
80+ else {
81+ let entry = invoke(this, "entryEnded", nil, nil)
82+ if ((entry == entry))
83+ then {
84+ let get = invoke(this, "firstEndedBoostingId", nil, nil)
85+ if ((get == get))
86+ then {
87+ let boostingId = toString(tryGetInteger("first"))
88+ if ((addressFromString(poolId) == unit))
89+ then throw("incorrect pool address")
90+ else [IntegerEntry((("boosting_" + boostingId) + "_days"), days), IntegerEntry((("boosting_" + boostingId) + "_totalAmount"), fullAmount), IntegerEntry((("boosting_" + boostingId) + "_dailyAmount"), (fullAmount / days)), IntegerEntry((("boosting_" + boostingId) + "_startHeight"), height), IntegerEntry((("boosting_" + boostingId) + "_finishHeight"), (height + ((days * hours) * minutes))), IntegerEntry((("boosting_" + boostingId) + "_finishTimestamp"), (lastBlock.timestamp + ((((days * hours) * minutes) * 60) * 1000))), 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) + ","))]
91+ }
92+ else throw("Strict value is not equal to itself.")
93+ }
94+ else throw("Strict value is not equal to itself.")
95+ }
96+ }
97+ }
9498
9599
96100
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 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", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "55", "56"]
55
66 let hours = 1
77
88 let minutes = 10
99
1010 func tryGetInteger (key) = match getInteger(this, key) {
1111 case b: Int =>
1212 b
1313 case _ =>
1414 0
1515 }
1616
1717
1818 func tryGetString (key) = match getString(this, key) {
1919 case b: String =>
2020 b
2121 case _ =>
2222 ""
2323 }
2424
2525
2626 func getAssetString (assetId) = match assetId {
2727 case b: ByteVector =>
2828 toBase58String(b)
2929 case _ =>
3030 "WAVES"
3131 }
3232
3333
3434 func getAssetBytes (assetIdStr) = if ((assetIdStr == "WAVES"))
3535 then unit
3636 else fromBase58String(assetIdStr)
3737
3838
3939 func payBoostingResult (boostingId) = {
4040 let lastHeight = tryGetInteger((("boosting_" + boostingId) + "_lastHeight"))
4141 let finishHeight = tryGetInteger((("boosting_" + boostingId) + "_finishHeight"))
4242 if (if ((lastHeight != 0))
4343 then (finishHeight > lastHeight)
4444 else false)
4545 then {
4646 let blockReward = (tryGetInteger((("boosting_" + boostingId) + "_totalAmount")) / ((tryGetInteger((("boosting_" + boostingId) + "_days")) * hours) * minutes))
47- let toPay = ((min([finishHeight, height]) - lastHeight) * blockReward)
47+ let toPay = fraction((min([finishHeight, height]) - lastHeight), blockReward, 1)
4848 [IntegerEntry((("boosting_" + boostingId) + "_lastHeight"), height), ScriptTransfer(addressFromStringValue(tryGetString((("boosting_" + boostingId) + "_poolId"))), toPay, getAssetBytes(tryGetString((("boosting_" + boostingId) + "_assetId"))))]
4949 }
5050 else nil
5151 }
5252
5353
5454 func endedBoostingIds (boostingId) = {
5555 let lastHeight = tryGetInteger((("boosting_" + boostingId) + "_lastHeight"))
5656 let finishHeight = tryGetInteger((("boosting_" + boostingId) + "_finishHeight"))
5757 if ((lastHeight >= finishHeight))
5858 then [StringEntry((("list ended " + toString(height)) + " boostingIds"), ((tryGetString((("list ended " + toString(height)) + " boostingIds")) + boostingId) + ","))]
5959 else nil
6060 }
6161
6262
6363 @Callable(i)
6464 func addBoosting (poolId,days) = if ((1 > days))
6565 then throw("amount of days has to be between 1 and 365")
6666 else if ((days > 365))
6767 then throw("amount of days has to be between 1 and 365")
68- else {
69- let fullAmount = i.payments[0].amount
70- if ((1440 > (fullAmount / days)))
71- then throw((("boosting amount too small, minimum is " + toString((1440 * days))) + " of the smallest unit of payment asset"))
72- else {
73- let assetId = getAssetString(i.payments[0].assetId)
74- if ((height == tryGetInteger("height")))
75- then throw("wait 1 minute")
76- else {
77- let entry = invoke(this, "entryEnded", nil, nil)
78- if ((entry == entry))
79- then {
80- let get = invoke(this, "firstEndedBoostingId", nil, nil)
81- if ((get == get))
82- then {
83- let boostingId = toString(tryGetInteger("first"))
84- if ((addressFromString(poolId) == unit))
85- then throw("incorrect pool address")
86- else [IntegerEntry((("boosting_" + boostingId) + "_days"), days), IntegerEntry((("boosting_" + boostingId) + "_totalAmount"), fullAmount), IntegerEntry((("boosting_" + boostingId) + "_dailyAmount"), (fullAmount / days)), IntegerEntry((("boosting_" + boostingId) + "_startHeight"), height), IntegerEntry((("boosting_" + boostingId) + "_finishHeight"), (height + ((days * hours) * minutes))), IntegerEntry((("boosting_" + boostingId) + "_finishTimestamp"), (lastBlock.timestamp + ((((days * hours) * minutes) * 60) * 1000))), 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) + ","))]
87- }
88- else throw("Strict value is not equal to itself.")
89- }
90- else throw("Strict value is not equal to itself.")
91- }
92- }
93- }
68+ else if (if ((i.caller != this))
69+ then (i.caller != Address(base58'3P8qVX189qpoTJZQQQdKS9endHK5sxWsvrd'))
70+ else false)
71+ then throw("under maintenance until further notice")
72+ else {
73+ let fullAmount = i.payments[0].amount
74+ if ((1440 > (fullAmount / days)))
75+ then throw((("boosting amount too small, minimum is " + toString((1440 * days))) + " of the smallest unit of payment asset"))
76+ else {
77+ let assetId = getAssetString(i.payments[0].assetId)
78+ if ((height == tryGetInteger("height")))
79+ then throw("wait 1 minute")
80+ else {
81+ let entry = invoke(this, "entryEnded", nil, nil)
82+ if ((entry == entry))
83+ then {
84+ let get = invoke(this, "firstEndedBoostingId", nil, nil)
85+ if ((get == get))
86+ then {
87+ let boostingId = toString(tryGetInteger("first"))
88+ if ((addressFromString(poolId) == unit))
89+ then throw("incorrect pool address")
90+ else [IntegerEntry((("boosting_" + boostingId) + "_days"), days), IntegerEntry((("boosting_" + boostingId) + "_totalAmount"), fullAmount), IntegerEntry((("boosting_" + boostingId) + "_dailyAmount"), (fullAmount / days)), IntegerEntry((("boosting_" + boostingId) + "_startHeight"), height), IntegerEntry((("boosting_" + boostingId) + "_finishHeight"), (height + ((days * hours) * minutes))), IntegerEntry((("boosting_" + boostingId) + "_finishTimestamp"), (lastBlock.timestamp + ((((days * hours) * minutes) * 60) * 1000))), 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) + ","))]
91+ }
92+ else throw("Strict value is not equal to itself.")
93+ }
94+ else throw("Strict value is not equal to itself.")
95+ }
96+ }
97+ }
9498
9599
96100
97101 @Callable(i)
98102 func payBoosting (boostingId) = payBoostingResult(boostingId)
99103
100104
101105
102106 @Callable(i)
103107 func payBoostings () = {
104108 func f (accum,next) = {
105109 let in = invoke(this, "payBoosting", [next], nil)
106110 if ((in == in))
107111 then in
108112 else throw("Strict value is not equal to itself.")
109113 }
110114
111115 let payments = {
112116 let $l = li
113117 let $s = size($l)
114118 let $acc0 = 0
115119 func $f0_1 ($a,$i) = if (($i >= $s))
116120 then $a
117121 else f($a, $l[$i])
118122
119123 func $f0_2 ($a,$i) = if (($i >= $s))
120124 then $a
121125 else throw("List size exceeds 56")
122126
123127 $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($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), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56)
124128 }
125129 if ((payments == payments))
126130 then nil
127131 else throw("Strict value is not equal to itself.")
128132 }
129133
130134
131135
132136 @Callable(i)
133137 func endedBoostings (boostingId) = endedBoostingIds(boostingId)
134138
135139
136140
137141 @Callable(i)
138142 func entryEnded () = {
139143 func f (accum,next) = {
140144 let in = invoke(this, "endedBoostings", [next], nil)
141145 if ((in == in))
142146 then in
143147 else throw("Strict value is not equal to itself.")
144148 }
145149
146150 let end = {
147151 let $l = li
148152 let $s = size($l)
149153 let $acc0 = 0
150154 func $f0_1 ($a,$i) = if (($i >= $s))
151155 then $a
152156 else f($a, $l[$i])
153157
154158 func $f0_2 ($a,$i) = if (($i >= $s))
155159 then $a
156160 else throw("List size exceeds 56")
157161
158162 $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($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), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56)
159163 }
160164 if ((end == end))
161165 then [IntegerEntry("height", height)]
162166 else throw("Strict value is not equal to itself.")
163167 }
164168
165169
166170
167171 @Callable(i)
168172 func firstEndedBoostingId () = {
169173 func fold (accum,next) = (accum :+ parseIntValue(next))
170174
171175 let StringValue = dropRight(tryGetString((("list ended " + toString(height)) + " boostingIds")), 1)
172176 let list = {
173177 let $l = split(StringValue, ",")
174178 let $s = size($l)
175179 let $acc0 = nil
176180 func $f0_1 ($a,$i) = if (($i >= $s))
177181 then $a
178182 else fold($a, $l[$i])
179183
180184 func $f0_2 ($a,$i) = if (($i >= $s))
181185 then $a
182186 else throw("List size exceeds 56")
183187
184188 $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($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), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56)
185189 }
186190 let firstOfList = list[0]
187191 [IntegerEntry("first", firstOfList)]
188192 }
189193
190194

github/deemru/w8io/026f985 
43.04 ms