Location: contracts/account_factory/src/lib.rs (no extend_ttl call anywhere)
Root cause / scenario:
Same gap as ephemeral_account and sweep_controller: EphemeralAccountWasmHash is stored via instance storage with no TTL-extension call in initialize() or batch_initialize().
Impact:
If the factory goes a long period without being invoked (plausible if account creation happens in bursts), its stored wasm hash could become subject to the same TTL-expiry exposure as the other contracts, blocking all future batch_initialize calls until an explicit restoration.
Suggested fix:
Apply the same extend_instance_ttl fix recommended for the other contracts here as well.
Found by reading the contract source directly and cross-checking docs/security.md and docs/reentrancy-analysis.md (item 27/32).
Location:
contracts/account_factory/src/lib.rs (no extend_ttl call anywhere)Root cause / scenario:
Same gap as ephemeral_account and sweep_controller: EphemeralAccountWasmHash is stored via instance storage with no TTL-extension call in initialize() or batch_initialize().
Impact:
If the factory goes a long period without being invoked (plausible if account creation happens in bursts), its stored wasm hash could become subject to the same TTL-expiry exposure as the other contracts, blocking all future batch_initialize calls until an explicit restoration.
Suggested fix:
Apply the same extend_instance_ttl fix recommended for the other contracts here as well.
Found by reading the contract source directly and cross-checking docs/security.md and docs/reentrancy-analysis.md (item 27/32).