период ревардов
для распределение ревардов вводим понятие период, который равен 1 суткам. Время начала отсчета периодов задается либо в момент деплоя контрактов, либо отдельным методом при настройке параметров.
Например, если старт отсчета установлен в 01.04.2023 00:00:00, то 1й период длится до 01.04.2023 23:59:59, 2й - до 02.04.2023 23:59:59, и т.д.
Номер периода будет вычиляться автоматически в момент вызова метода distributeReward на контракте. Для упрощения считаем, что если момент вызова метода попадает в середину интервала периода, то номер периода равен последнему завершенному. Например, распредление происходит 02.04.2023 11:23:45, т.е. в интервале 2-го периода, то номер пориода для расчетов будет 1
в случае если распределение ревардов произошло не на следующий период и через 1,2,...N периодов, подразумеваем, что сумма ревардов относится ко всем пропущенным периодам.
старение nft
Каждый nft обладает базовым показателем "прочночть" (endurance). Каждая nft может иметь свой собственный показатель прочности. Значение измеряется в %, у новых NFT endurance=100%.
Каждый стейк - тратит ендуранс непосредственно за операцию (например, на 0.25%) + начинает тикать время стейка. Для упрощения расчетов принимаем износ нтф за линейную функцию. т.е. старение каждой nft происходит пропорционально времени проведенному в стейкинге (аналог "гарантийного срока").
Каждый анстейк - высчитывается уменьшение прочности за время стейка, (но минимиум 0.25%).