Open gztensor opened 1 month ago
_Definition: Price threshold = SUM( Emission( subnet ) for subnet in DTAO_SUBNETS )/ SUM( Emission( subnet ) for subnet in ALLSUBNETS )
For STAO subnets:
add stake
remove stake
For DTAO subnets
add stake
remove stake
Corner cases
Sanity checks
on_initialize
hook to avoid block overweighing. It performs all following steps.PendingEmission
is drained (set to 0)PendingEmission
in run_coinbase block handling StaoToDtaoConversionUnstakeCompleted
event will be emitted. TotalSubnetTAO
will be reduced by the amount of forcefully unstaked TAO (test)DynamicTAOReserve
will be set to equal the new value of TotalSubnetTAO
(test)Branch: feat/stao-dtao-transition
Transition check list:
Note that the emission is now p.tao_in/sum_tao which is the ratio of TAO in the pool to the total TAO in the pools. This is the exact same calculation for STAO, where the emission for the subnet is tao_in_network/sum_tao_in_networks
TotalSubnetStake and DynamicTAOReserve are the same values in an STAO/DTAO environment
For STAO subnets we just always emit TAO (as if prices were > 1)