Can't Manage DAO Neuron

If you grab the payload and feed it into didc:

$ didc decode 4449444c056b01c6b3bb9106016c01a78882820a026e036b0190f29afe07046c018dc3b2b3037c010000010080b8a6f800

(
  variant {
    1_647_237_574 = record {
      2_688_582_695 = opt variant {
        2_143_729_936 = record { 913_088_909 = 252_288_000 : int }
      };
    }
  },
)

We can see that 252_288_000 is an int. However, I believe additional_dissolve_delay_seconds should be a nat32. AFAIK, int is not a subtype of nat32 so something encoded as int cannot be decoded as nat32. (I’m not a candid expert, so @chenyan in case I’m wrong)

It might be worth looking into how you prepared the payload. And if that’s indeed an issue, one way to prevent it in the future is for the validator to return something that’s not just “Proposal is valid”, since I believe the validator will see something like operation = null instead of operation = opt variant { IncreaseDissolveDelay = record { additional_dissolve_delay_seconds = 252_288_000 }}. Essentially, if the validator can turn the structured data into a text format, it can help the proposer as well as voters to examine the payload.