Every node gets a full validator's bounty
Resolution\\nThis issue is addressed in Bug/skale 3273 formula fix 435 and SKALE-3273 Fix BountyV2 populating error 438.\\nThe main change is related to how bounties are calculated for each validator. Below are a few notes on these pull requests:\\n`nodesByValidator` mapping is no longer used in the codebase and the non-zero values are deleted when `calculateBounty()` is called for a specific validator. The mapping is kept in the code for compatible storage layout in upgradable proxies.\\nSome functions such as `populate()` was developed for the transition to the upgraded contracts (rewrite `_effectiveDelegatedSum` values based on the new calculation formula). This function is not part of this review and will be removed in the future updates.\\nUnlike the old architecture, `nodesByValidator[validatorId]` is no longer used within the system to calculate `_effectiveDelegatedSum` and bounties. This is replaced by using overall staked amount and duration.\\nIf a validator does not claim their bounty during a month, it is considered as a misbehave and her bounty goes to the bounty pool for the next month.\\nTo get the bounty, every node calls the `getBounty` function of the `SkaleManager` contract. This function can be called once per month. The size of the bounty is defined in the `BountyV2` contract in the `_calculateMaximumBountyAmount` function:\\n```\\nreturn epochPoolSize\\n    .add(\\_bountyWasPaidInCurrentEpoch)\\n    .mul(\\n        delegationController.getAndUpdateEffectiveDelegatedToValidator(\\n            nodes.getValidatorId(nodeIndex),\\n            currentMonth\\n        )\\n    )\\n    .div(effectiveDelegatedSum);\\n```\\n\\nThe problem is that this amount actually represents the amount that should be paid to the validator of that node. But each node will get this amount. Additionally, the amount of validator's bounty should also correspond to the number of active nodes, while this formula only uses the amount of delegated funds.
Every node should get only their parts of the bounty.
```\\nreturn epochPoolSize\\n    .add(\\_bountyWasPaidInCurrentEpoch)\\n    .mul(\\n        delegationController.getAndUpdateEffectiveDelegatedToValidator(\\n            nodes.getValidatorId(nodeIndex),\\n            currentMonth\\n        )\\n    )\\n    .div(effectiveDelegatedSum);\\n```\\n