А в чем смысл стейкинга LP токенов без лока кстати? Когда я поставляю ликвидность, а затем стейкаю токены. Разве так сложно сохранить в контракте адрес-поставщик ликвидности? Зачем промежуточный шаг в вие выпуска LP токенов, которые я должен обратно вернуть в контракт, чтобы получать награду?
Всегда думал, что если бы писал сам, то написал бы без стейкинга, а просто хранил бы связку map(address => uint) public provided_liquidity_value но кажется, что не дураки контракты крупных дексов пишут
Ну я могу получить долю каждого участника в общем пуле. Собираем пул комиссий. При выводе участником ликвидности смотрим, какой долей пула он владеет, и даем ему в довесок такую же долю пула комиссий