tx · Csu4R8K7XRQJvikycqWcG7gU43RdHhDwnPbuPom9PTbk

3PR8Yve57E6TrJGC1Ht5ydDc4UAJY529f9X:  -0.01000000 Waves

2023.06.26 12:48 [3705091] smart account 3PR8Yve57E6TrJGC1Ht5ydDc4UAJY529f9X > SELF 0.00000000 Waves

{ "type": 13, "id": "Csu4R8K7XRQJvikycqWcG7gU43RdHhDwnPbuPom9PTbk", "fee": 1000000, "feeAssetId": null, "timestamp": 1687772915930, "version": 2, "chainId": 87, "sender": "3PR8Yve57E6TrJGC1Ht5ydDc4UAJY529f9X", "senderPublicKey": "4KoHqDJgFL4FWb6CrZ8s5X61XDqtdaENwRuyViRAHxQE", "proofs": [ "3p4uSVFJ86iLhzLJzBmkzWq8QbFEqdiWHyfBHHfQpYR1w949aMGbkdjhtFibLSGSkJu7TA4PJQXPwfoaNQqW5w4D" ], "script": "base64:BgIECAISAAMAAmxpCQDMCAICAjYwCQDMCAICAjYxCQDMCAICAjYyCQDMCAICAjYzCQDMCAICAjY0CQDMCAICAjY1CQDMCAICAjY2CQDMCAICAjY3CQDMCAICAjY4CQDMCAICAjY5CQDMCAICAjcwCQDMCAICAjcxCQDMCAICAjcyCQDMCAICAjczCQDMCAICAjc0CQDMCAICAjc1CQDMCAICAjc2CQDMCAICAjc3CQDMCAICAjc4CQDMCAICAjc5CQDMCAICAjgwCQDMCAICAjgxCQDMCAICAjgyCQDMCAICAjgzCQDMCAICAjg0CQDMCAICAjg1CQDMCAICAjg2CQDMCAICAjg3CQDMCAICAjg4CQDMCAICAjg5CQDMCAICAjkwCQDMCAICAjkxCQDMCAICAjkyCQDMCAICAjkzCQDMCAICAjk0CQDMCAICAjk1CQDMCAICAjk2CQDMCAICAjk3CQDMCAICAjk4CQDMCAICAjk5CQDMCAICAzEwMAkAzAgCAgMxMDEJAMwIAgIDMTAyCQDMCAICAzEwMwkAzAgCAgMxMDQJAMwIAgIDMTA1CQDMCAICAzEwNgkAzAgCAgMxMDcJAMwIAgIDMTA4CQDMCAICAzEwOQkAzAgCAgMxMTAJAMwIAgIDMTExCQDMCAICAzExMgkAzAgCAgMxMTMJAMwIAgIDMTE0CQDMCAICAzExNQkAzAgCAgMxMTYJAMwIAgIDMTE3CQDMCAICAzExOAkAzAgCAgMxMTkJAMwIAgIDMTIwCQDMCAICAzEyMQkAzAgCAgMxMjIJAMwIAgIDMTIzCQDMCAICAzEyNAkAzAgCAgMxMjUJAMwIAgIDMTI2CQDMCAICAzEyNwkAzAgCAgMxMjgJAMwIAgIDMTI5CQDMCAICAzEzMAkAzAgCAgMxMzEJAMwIAgIDMTMyCQDMCAICAzEzMwkAzAgCAgMxMzQJAMwIAgIDMTM1CQDMCAICAzEzNgkAzAgCAgMxMzcJAMwIAgIDMTM4CQDMCAICAzEzOQkAzAgCAgMxNDAJAMwIAgIDMTQxCQDMCAICAzE0MgkAzAgCAgMxNDMJAMwIAgIDMTQ0CQDMCAICAzE0NQkAzAgCAgMxNDYJAMwIAgIDMTQ3CQDMCAICAzE0OAkAzAgCAgMxNDkJAMwIAgIDMTUwCQDMCAICAzE1MQkAzAgCAgMxNTIJAMwIAgIDMTUzCQDMCAICAzE1NAkAzAgCAgMxNTUJAMwIAgIDMTU2CQDMCAICAzE1NwkAzAgCAgMxNTgJAMwIAgIDMTU5CQDMCAICAzE2MAkAzAgCAgMxNjEJAMwIAgIDMTYyCQDMCAICAzE2MwkAzAgCAgMxNjQJAMwIAgIDMTY1CQDMCAICAzE2NgkAzAgCAgMxNjcJAMwIAgIDMTY4CQDMCAICAzE2OQkAzAgCAgMxNzAJAMwIAgIDMTcxCQDMCAICAzE3MgkAzAgCAgMxNzMJAMwIAgIDMTc0CQDMCAICAzE3NQkAzAgCAgMxNzYJAMwIAgIDMTc3CQDMCAICAzE3OAkAzAgCAgMxNzkJAMwIAgIDMTgwCQDMCAICAzE4MQkAzAgCAgMxODIJAMwIAgIDMTgzCQDMCAICAzE4NAkAzAgCAgMxODUJAMwIAgIDMTg2CQDMCAICAzE4NwkAzAgCAgMxODgJAMwIAgIDMTg5CQDMCAICAzE5MAkAzAgCAgMxOTEJAMwIAgIDMTkyCQDMCAICAzE5MwkAzAgCAgMxOTQJAMwIAgIDMTk1CQDMCAICAzE5NgkAzAgCAgMxOTcJAMwIAgIDMTk4CQDMCAICAzE5OQkAzAgCAgMyMDAJAMwIAgIDMjAxCQDMCAICAzIwMgkAzAgCAgMyMDMJAMwIAgIDMjA0CQDMCAICAzIwNQkAzAgCAgMyMDYJAMwIAgIDMjA3CQDMCAICAzIwOAkAzAgCAgMyMDkJAMwIAgIDMjEwCQDMCAICAzIxMQkAzAgCAgMyMTIJAMwIAgIDMjEzCQDMCAICAzIxNAkAzAgCAgMyMTUJAMwIAgIDMjE2CQDMCAICAzIxNwkAzAgCAgMyMTgJAMwIAgIDMjE5CQDMCAICAzIyMAkAzAgCAgMyMjEJAMwIAgIDMjIyCQDMCAICAzIyMwkAzAgCAgMyMjQJAMwIAgIDMjI1CQDMCAICAzIyNgkAzAgCAgMyMjcJAMwIAgIDMjI4CQDMCAICAzIyOQkAzAgCAgMyMzAJAMwIAgIDMjMxCQDMCAICAzIzMgkAzAgCAgMyMzMJAMwIAgIDMjM0CQDMCAICAzIzNQkAzAgCAgMyMzYJAMwIAgIDMjM3CQDMCAICAzIzOAkAzAgCAgMyMzkJAMwIAgIDMjQwCQDMCAICAzI0MQkAzAgCAgMy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", "height": 3705091, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4mPNCKRmqFSDtXTQS2xVgfMdFmoxsiULPh5sZhiGZeg2 Next: HRDAL51GPEuaGDseiMWrsboXfqZE9E9UGLS5WZ9YR7DK Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let li = ["50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104"]
4+let li = ["60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113", "114", "115", "116", "117", "118", "119", "120", "121", "122", "123", "124", "125", "126", "127", "128", "129", "130", "131", "132", "133", "134", "135", "136", "137", "138", "139", "140", "141", "142", "143", "144", "145", "146", "147", "148", "149", "150", "151", "152", "153", "154", "155", "156", "157", "158", "159", "160", "161", "162", "163", "164", "165", "166", "167", "168", "169", "170", "171", "172", "173", "174", "175", "176", "177", "178", "179", "180", "181", "182", "183", "184", "185", "186", "187", "188", "189", "190", "191", "192", "193", "194", "195", "196", "197", "198", "199", "200", "201", "202", "203", "204", "205", "206", "207", "208", "209", "210", "211", "212", "213", "214", "215", "216", "217", "218", "219", "220", "221", "222", "223", "224", "225", "226", "227", "228", "229", "230", "231", "232", "233", "234", "235", "236", "237", "238", "239", "240", "241", "242", "243", "244", "245", "246", "247", "248", "249"]
55
66 let bAddress = Address(base58'3PAeY7RgwuNUZNscGqahqJxFTFDkh7fbNwJ')
7+
8+func tryGetInteger (key) = match getInteger(bAddress, key) {
9+ case b: Int =>
10+ b
11+ case _ =>
12+ 0
13+}
14+
715
816 @Callable(i)
917 func payBoostings () = {
1018 func f (accum,boostingId) = {
11- let inv = invoke(bAddress, "payBoosting", [boostingId], nil)
12- if ((inv == inv))
13- then accum
14- else throw("Strict value is not equal to itself.")
19+ let blockReward = tryGetInteger((("boosting_" + boostingId) + "_blockAmount"))
20+ let lastHeight = tryGetInteger((("boosting_" + boostingId) + "_lastHeight"))
21+ let finishHeight = tryGetInteger((("boosting_" + boostingId) + "_finishHeight"))
22+ let toPay = ((min([finishHeight, height]) - lastHeight) * blockReward)
23+ if (if ((toPay > 0))
24+ then (55 > accum)
25+ else false)
26+ then {
27+ let inv = invoke(bAddress, "payBoosting", [boostingId], nil)
28+ if ((inv == inv))
29+ then (accum + 1)
30+ else throw("Strict value is not equal to itself.")
31+ }
32+ else accum
1533 }
1634
1735 let result = {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let li = ["50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104"]
4+let li = ["60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113", "114", "115", "116", "117", "118", "119", "120", "121", "122", "123", "124", "125", "126", "127", "128", "129", "130", "131", "132", "133", "134", "135", "136", "137", "138", "139", "140", "141", "142", "143", "144", "145", "146", "147", "148", "149", "150", "151", "152", "153", "154", "155", "156", "157", "158", "159", "160", "161", "162", "163", "164", "165", "166", "167", "168", "169", "170", "171", "172", "173", "174", "175", "176", "177", "178", "179", "180", "181", "182", "183", "184", "185", "186", "187", "188", "189", "190", "191", "192", "193", "194", "195", "196", "197", "198", "199", "200", "201", "202", "203", "204", "205", "206", "207", "208", "209", "210", "211", "212", "213", "214", "215", "216", "217", "218", "219", "220", "221", "222", "223", "224", "225", "226", "227", "228", "229", "230", "231", "232", "233", "234", "235", "236", "237", "238", "239", "240", "241", "242", "243", "244", "245", "246", "247", "248", "249"]
55
66 let bAddress = Address(base58'3PAeY7RgwuNUZNscGqahqJxFTFDkh7fbNwJ')
7+
8+func tryGetInteger (key) = match getInteger(bAddress, key) {
9+ case b: Int =>
10+ b
11+ case _ =>
12+ 0
13+}
14+
715
816 @Callable(i)
917 func payBoostings () = {
1018 func f (accum,boostingId) = {
11- let inv = invoke(bAddress, "payBoosting", [boostingId], nil)
12- if ((inv == inv))
13- then accum
14- else throw("Strict value is not equal to itself.")
19+ let blockReward = tryGetInteger((("boosting_" + boostingId) + "_blockAmount"))
20+ let lastHeight = tryGetInteger((("boosting_" + boostingId) + "_lastHeight"))
21+ let finishHeight = tryGetInteger((("boosting_" + boostingId) + "_finishHeight"))
22+ let toPay = ((min([finishHeight, height]) - lastHeight) * blockReward)
23+ if (if ((toPay > 0))
24+ then (55 > accum)
25+ else false)
26+ then {
27+ let inv = invoke(bAddress, "payBoosting", [boostingId], nil)
28+ if ((inv == inv))
29+ then (accum + 1)
30+ else throw("Strict value is not equal to itself.")
31+ }
32+ else accum
1533 }
1634
1735 let result = {
1836 let $l = li
1937 let $s = size($l)
2038 let $acc0 = 0
2139 func $f0_1 ($a,$i) = if (($i >= $s))
2240 then $a
2341 else f($a, $l[$i])
2442
2543 func $f0_2 ($a,$i) = if (($i >= $s))
2644 then $a
2745 else throw("List size exceeds 55")
2846
2947 $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($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)
3048 }
3149 if ((result == result))
3250 then nil
3351 else throw("Strict value is not equal to itself.")
3452 }
3553
3654
3755 @Verifier(tx)
3856 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
3957

github/deemru/w8io/0e76f2f 
55.02 ms