Skip to content

Commit 03ee6c0

Browse files
grypezclaude
andcommitted
fix(evm-wallet): persist homeCoordRef in baggage across kernel restarts
homeSection was persisted but homeCoordRef was not, so after a vat restart getAccounts (home fallback), signMessage, signTypedData, sendDelegateAddressToPeer, and makeRedeemFn's home relay path all silently broke. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 9c824f4 commit 03ee6c0

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

packages/evm-wallet-experiment/src/vats/away-coordinator.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,7 @@ export function buildRootObject(
315315
}
316316
smartAccountConfig =
317317
restoreFromBaggage<SmartAccountConfig>('smartAccountConfig');
318+
homeCoordRef = restoreFromBaggage<object>('homeCoordRef');
318319
homeSection = restoreFromBaggage<object>('homeSection');
319320

320321
/** Chain ID from the last `configureProvider` call (avoids RPC on every send). */
@@ -1887,7 +1888,7 @@ export function buildRootObject(
18871888
* Connect to the home coordinator via an OCAP URL.
18881889
* Redeems the URL to obtain a remote reference to the home coordinator,
18891890
* then fetches the home section exo for the call-home fallback path.
1890-
* Persists the homeSection reference and rebuilds routing.
1891+
* Persists homeCoordRef and homeSection and rebuilds routing.
18911892
*
18921893
* @param ocapUrl - The OCAP URL issued by the home coordinator.
18931894
*/
@@ -1897,6 +1898,7 @@ export function buildRootObject(
18971898
}
18981899
homeCoordRef = await E(redemptionService).redeem(ocapUrl);
18991900
homeSection = await E(homeCoordRef).getHomeSection();
1901+
persistBaggage('homeCoordRef', homeCoordRef);
19001902
persistBaggage('homeSection', homeSection);
19011903
await rebuildRouting();
19021904
},

0 commit comments

Comments
 (0)