fix(testnet,devnet/pchain): migrate allocations from initialAmount-only to unlockSchedule

luxd v1.23.31 builder.go only iterates `unlockSchedule` to build P-Chain
platform allocations. Allocations with only `initialAmount` (and
`unlockSchedule: null`) are silently dropped — supply gets counted but
no UTXOs materialize at the addresses. This blocks any P-Chain operation
(staking, subnet creation, token transfers) on testnet/devnet because
the canonical deployer addresses report balance=0 despite genesis claim.

Mainnet works around this because every allocation has explicit
unlockSchedule entries (vesting locks). testnet/devnet had compact
"initialAmount: 10M, unlockSchedule: null" entries.

Fix: migrate 995 testnet + 995 devnet allocations to use
`{initialAmount: 0, unlockSchedule: [{amount: 10M, locktime: 0}]}`.
Same total amount, immediately unlocked at locktime=0, now properly
loaded into platformAllocations by the builder.

Also fixed initialStakedFunds to point at allocations[0..4].luxAddr
(the BIP44 m/44'/9000'/0'/0/{0..4} derivation) instead of the validator
reward addresses, matching the working mainnet pattern.

Verified: testnet/devnet alloc[10] now shows 10M LUX queryable balance;
4 canonical subnets deployed successfully on each (zoo 200201/200202,
hanzo 36962/36964, spc 36910/36912, pars 494950/494951).
This commit is contained in:
Hanzo AI
2026-05-20 15:06:13 -07:00
parent 9fa3c444e7
commit 1fdd56807b
4 changed files with 28077 additions and 8033 deletions
+7010 -2008
View File
File diff suppressed because it is too large Load Diff
+7006 -2004
View File
File diff suppressed because it is too large Load Diff
+7055 -2015
View File
File diff suppressed because it is too large Load Diff
+7006 -2006
View File
File diff suppressed because it is too large Load Diff