As far as I tested by comparing solely the proposal generated locally and on mainnet for CYCLES-TRANSFER-STATION, the following SNS.yaml fields require to be calculated with SNS seconds:
Distribution.Neurons.dissolve_delay
Distribution.Neurons.vesting_period
Voting.minimum_dissolve_delay
And by SNS seconds I mean using the humanreadble create values, i.e.
const snsUnitsToSeconds: Record<string, number> = {
months: 2_630_016, // 30.44d = 2_630_016
years: 31_557_600, // 365.25d = 31_557_600
};
Every other duration fields of the SNS.yaml file seem to have to be calculated with NNS seconds, i.e.
const ONE_DAY_SECONDS = 24 * 60 * 60;
const ONE_YEAR_SECONDS = ((4 * 365 + 1) * ONE_DAY_SECONDS) / 4;
const ONE_MONTH_SECONDS = ONE_YEAR_SECONDS / 12;
const nnsUnitsToSeconds: Record<string, number> = {
months: ONE_MONTH_SECONDS, // 2629800
years: ONE_YEAR_SECONDS, // 2629800 * 12
};
Can you please confirm or let me know which other fields require “SNS seconds”?