I have some seed neurons. I am trying to spawn the rewards into a separate neuron to access my ICP, but into issues.
First neuron:
Parent neuron IDs: 281525030204895507
Spawned neuron IDs: 358429794222158868
The transaction is successful, but I seems like the spawned neuron is in a corrupted state. I even tried to increase dissolve delay to 1 day, but can’t start dissolving.
Tried with a second seed neuron and the exact same issue.
Parent neuron: 685705572931231473
Spawned neuron: 9973304611228297795
It seems like a bug in the seed neurons. Can someone help? @SupportDev
Original error message on console that I saw: NNS error: There isn’t enough maturity to spawn a new neuron due to worst case maturity modulation.
More info: (on the second neuron that I tried):
$ dfx canister --network ic call rrkah-fqaaa-aaaaa-aaaaq-cai get_full_neuron ‘(9973304611228297795:nat64)’
Rewards are no longer spawned into neurons. The maturity is disbursed directly to an ICP wallet address rather than into a neuron. This behaviour was altered several months back, so may explain the issues you’re having.
It doesn’t look like your spawned neuron has any ICP in it. I suspect the spawn suceeded at the neuron creation stage, but failed to move any maturity into it (just a guess as I’ve not looked at the code).
You should check if any of your maturity has actually moved (it probably hasn’t). @jasonzhu should know more.
Thanks @Lorimer but it seems like maturity was transferred / destroyed somehow?
For the 2 neurons (281525030204895507, 685705572931231473), when I try to disburse maturity, I get the error:
NNS error: Disbursement (0) is too small. After the worst case maturity modulation (-500) the amount should be at least: 100000000 e8s
Hi @idontexist, thanks for posting the steps you went through, those are really helpful to show what happened. From those it seems things worked as expected.
TLDR as you probably care most about the maturity in your neurons: there is a 7-day waiting period for both spawned neurons and disbursed maturity. After the 7-day waiting period, spawned neurons should exit the “spawning” state (and available as a dissolved neuron), while the disbursed maturity will arrive at the specified address
State of Spawning
While this is true for neurons controlled by NNS Dapp, it’s not true in general, and more specifically, not true for neurons controlled in other ways. The “spawning” is deprecated, but not removed from the NNS Governance (and thus it should still work correctly). In the NNS Dapp we present the easier way of accessing the maturity, but in other surfaces it’s more challenging to completely remove the spawning without breaking things, and the work to stop supporting spawning hasn’t happened yet.
Documentation
Please check this page (the section “Spawning maturity via the maturity modulation function”) for spawning and this page for disbursing maturity.
How to confirm things working as expected
For spawned neurons, the spawn_at_timestamp_seconds is the time when the neuron exit the “spawning” state. The timestamp shown for 9973304611228297795 seems to be the coming Sunday. At that time, you should see (1) cached_neuron_stake_e8s become ~33ICP (subject to maturity modulation of ±5%), and (2) spawn_at_timestamp_seconds becomes null. At that time you should be able to do quill neuron-manage --disburse ...
For disbursed maturity, you should be able to call
$ dfx canister --network ic call rrkah-fqaaa-aaaaa-aaaaq-cai get_full_neuron ‘(721574941063530135:nat64)’
and see a maturity_disbursements_in_progress field, and the finalize_disbursement_timestamp_seconds inside it should indicate when you should see the the minted ICP.
Oh wow thanks so much for the detailed explanation! I think I am all set then - totally missed the 7 day waiting period part. I’ll update after a week how things look then. Really appreciate your help, thanks once again!
A couple of questions if you don’t mind answering -
I have a few other seed neurons - is there a recommended way to access their staking rewards i.e. via reward spawning new neurons or direct disbursement to account? Does it matter?
I also noticed that my seed neurons aren’t participating in governance, which is very unfortunate. I thought these were automatically voting for ‘Dfinity’ back in Nov ‘21. I just wanted to ask and clarify - is it ok to get them voting now, even if some are awaiting the reward disbursement? And if so, what’s the best way to delegate votes to the Dfinity org or the recommended entity?
The seed neurons came with a whole dissolve delay schedule. I want to put them all to 4 years. Is it safe to just do this with the existing seed neurons without dissolving them? Any gotchas at all that I should be aware of?
I’d say that disbursing maturity is easier. However, we got report that Kraken has some problem handling such transactions and we are actively working with them to resolve this. In the mean time, I’d suggest disbursing to an address owned by your own principal.
You are probably affected by the periodic confirmation feature. This post has more information as well as the “Periodic Confirmation” section on this page.
I don’t see a problem of increasing the dissolve delay to 4 years. You are probably aware of the fact that if the state is not-dissolving, then the dissolve delay will remain 4 years instead of decreasing. Another thing is that the age bonus is lost once you start dissolving.