@@ -242,7 +242,7 @@ def load_secure_accounts(secure_accounts_path: str, balance_multiplier: int = 1)
242242 print (f"Warning: Invalid balance { balance_str } for account { acc .get ('Name' , 'Unknown' )} " , file = sys .stderr )
243243 balance = 0
244244
245- # Get nonce from SourceFundsNonce field
245+ # Get nonce from SourceFundsNonce field (or default to 0)
246246 nonce_str = acc .get ('SourceFundsNonce' , '0' )
247247 try :
248248 nonce = int (nonce_str )
@@ -263,9 +263,11 @@ def load_secure_accounts(secure_accounts_path: str, balance_multiplier: int = 1)
263263 if prime_vault_cosmos_addr :
264264 account_info ['prime_vault_address' ] = prime_vault_cosmos_addr
265265 account_info ['prime_vault_eth_address' ] = prime_vault_eth_addr
266- print (f"Secure account { acc .get ('Name' )} : { source_cosmos_addr } -> { prime_vault_cosmos_addr } (REPLACEMENT)" )
266+ # Prime vault replacements always start at nonce 0
267+ account_info ['prime_vault_nonce' ] = 0
268+ print (f"Secure account { acc .get ('Name' )} : { source_cosmos_addr } -> { prime_vault_cosmos_addr } (REPLACEMENT, nonce=0)" )
267269 else :
268- print (f"Secure account { acc .get ('Name' )} : { source_cosmos_addr } (NO REPLACEMENT)" )
270+ print (f"Secure account { acc .get ('Name' )} : { source_cosmos_addr } (NO REPLACEMENT, nonce= { nonce } )" )
269271
270272 accounts .append (account_info )
271273
@@ -334,6 +336,7 @@ def update_genesis_with_accounts(genesis_path: str,
334336 prime_vault_address = account_data .get ('prime_vault_address' )
335337 balance = account_data ['balance' ]
336338 nonce = account_data ['nonce' ]
339+ prime_vault_nonce = account_data .get ('prime_vault_nonce' , 0 ) # Default to 0 for replacements
337340 name = account_data .get ('name' , 'Unknown' )
338341
339342 # Determine if this is a replacement operation
@@ -342,6 +345,7 @@ def update_genesis_with_accounts(genesis_path: str,
342345 if is_replacement :
343346 # REPLACEMENT MODE: Replace source_address with prime_vault_address
344347 target_address = prime_vault_address
348+ target_nonce = prime_vault_nonce # Use prime vault nonce (always 0)
345349 secure_addresses .add (prime_vault_address )
346350 replaced_addresses .add (source_address )
347351
@@ -381,6 +385,7 @@ def update_genesis_with_accounts(genesis_path: str,
381385 else :
382386 # NO REPLACEMENT: Just use source_address
383387 target_address = source_address
388+ target_nonce = nonce # Use original nonce for non-replacements
384389 secure_addresses .add (source_address )
385390 print (f" Processing { name } : { source_address } (no replacement)" , file = sys .stderr )
386391
@@ -390,20 +395,20 @@ def update_genesis_with_accounts(genesis_path: str,
390395 "@type" : "/cosmos.auth.v1beta1.BaseAccount" ,
391396 "address" : target_address ,
392397 "pub_key" : None ,
393- "sequence" : str (nonce ) if include_nonce else "0"
398+ "sequence" : str (target_nonce ) if include_nonce else "0"
394399 }
395400 genesis ['app_state' ]['auth' ]['accounts' ].append (new_account )
396401 new_accounts += 1
397402 next_account_number += 1
398- print (f" Added new account { target_address } " , file = sys .stderr )
403+ print (f" Added new account { target_address } (nonce= { target_nonce if include_nonce else 0 } ) " , file = sys .stderr )
399404 else :
400405 # Update existing account's sequence if needed
401406 if include_nonce :
402407 for acc in genesis ['app_state' ]['auth' ]['accounts' ]:
403408 if acc ['address' ] == target_address :
404- acc ['sequence' ] = str (nonce )
409+ acc ['sequence' ] = str (target_nonce )
405410 break
406- print (f" Updated existing account { target_address } " , file = sys .stderr )
411+ print (f" Updated existing account { target_address } (nonce= { target_nonce if include_nonce else 0 } ) " , file = sys .stderr )
407412
408413 # Set balance if include_balance is True
409414 if include_balance :
0 commit comments