Find the missing factory dependency in a native EraVM deployment
A factory can know the hash of a child contract while the chain still lacks its bytecode preimage. Sending only the parent factory artifact can leave a later deployment unable to instantiate the child.
Inventory code hashes that the deployment can use
Compile the factory and its concrete children for EraVM. Compare the bytecode hashes with code already known on the target chain. Supply the bytecodes of unpublished dependencies through the transaction’s factoryDeps using tooling that encodes the native deployment.
Factory F can deploy child code C
published preimages before transaction: F only
required new factory dependency: C bytecode
In the example F is already published but C is missing. Re-sending F alone does not publish C. A dependency can be published by a separate transaction before the actual deployment when publication limits require splitting the set.
Separate publication from instance creation
A known bytecode hash establishes availability of the code preimage. It does not prove that any instance was created or that the constructor succeeded. Track the actual ContractDeployer call and resulting instance independently. docs.zksync.io ZKsync documentation