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: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", "height": 3249894, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BG5QWdP7tyVXSjm1Uqqfnk6RGE1r1uBWASvg5Dq3Q4ci Next: DSkSSg6iyu5ngYMiPBteSz9zx2SjC4NuwucZhHaeE3WH Diff:
OldNewDifferences
5050 let boostingId = toString(newBoostingsAmount)
5151 if ((addressFromString(poolId) == unit))
5252 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) + ","))]
5454 }
5555
5656
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func tryGetInteger (key) = match getInteger(this, key) {
55 case b: Int =>
66 b
77 case _ =>
88 0
99 }
1010
1111
1212 func tryGetString (key) = match getString(this, key) {
1313 case b: String =>
1414 b
1515 case _ =>
1616 ""
1717 }
1818
1919
2020 func getAssetString (assetId) = match assetId {
2121 case b: ByteVector =>
2222 toBase58String(b)
2323 case _ =>
2424 "WAVES"
2525 }
2626
2727
2828 func getAssetBytes (assetIdStr) = if ((assetIdStr == "WAVES"))
2929 then unit
3030 else fromBase58String(assetIdStr)
3131
3232
3333 func payBoostingResult (boostingId) = {
3434 let lastHeight = tryGetInteger((("boosting_" + boostingId) + "_lastHeight"))
3535 if ((lastHeight != 0))
3636 then {
3737 let blockReward = tryGetInteger((("boosting_" + boostingId) + "_blockAmount"))
3838 let toPay = ((height - lastHeight) * blockReward)
3939 [IntegerEntry((("boosting_" + boostingId) + "_lastHeight"), height), ScriptTransfer(addressFromStringValue(tryGetString((("boosting_" + boostingId) + "_poolId"))), toPay, fromBase58String(tryGetString((("boosting_" + boostingId) + "_assetId"))))]
4040 }
4141 else nil
4242 }
4343
4444
4545 @Callable(i)
4646 func addBoosting (poolId,days) = {
4747 let fullAmount = i.payments[0].amount
4848 let assetId = getAssetString(i.payments[0].assetId)
4949 let newBoostingsAmount = (tryGetInteger("global_boostingsAmount") + 1)
5050 let boostingId = toString(newBoostingsAmount)
5151 if ((addressFromString(poolId) == unit))
5252 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) + ","))]
5454 }
5555
5656
5757
5858 @Callable(i)
5959 func payBoostings () = {
6060 func f (accum,next) = (accum ++ payBoostingResult(toString(next)))
6161
6262 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]
6363 let $l = li
6464 let $s = size($l)
6565 let $acc0 = nil
6666 func $f0_1 ($a,$i) = if (($i >= $s))
6767 then $a
6868 else f($a, $l[$i])
6969
7070 func $f0_2 ($a,$i) = if (($i >= $s))
7171 then $a
7272 else throw("List size exceeds 35")
7373
7474 $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)
7575 }
7676
7777
7878 @Verifier(tx)
7979 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
8080

github/deemru/w8io/3ef1775 
37.04 ms