Order of operations
1
Deploy libraries
Deploy
Poseidon2T4Unrolled and VeilifySwap on Robinhood Chain. Record their addresses.2
Link and compile
Set
settings.libraries in the standard input to the Robinhood addresses, then compile. Never reuse Ethereum-linked bytecode: it would call Ethereum library addresses.3
Choose the virtual chain ID
Pick a unique Veilify Network chain ID. It is baked into the implementation and into every proof. It must differ from
4663, 46630 and every other deployment’s ID.4
Deploy the implementation
5
Deploy verifiers and controller
Deploy the three verifiers that match your proving artifacts, and
AdminUpgradeController(admin).6
Create the pool atomically
7
Configure
As admin:
8
Record the deployment block
Scanners start from it. Publish it on Deployment Addresses.
Robinhood-specific settings
Post-deploy checks
-
VIRTUAL_CHAIN_ID()andUNISWAP_V2_ROUTER()return the intended values -
shieldedTransferVerifier,shieldedWithdrawalVerifier,shieldedSwapVerifier,guardandupgradeControllerare set - Implementation bytecode contains the Robinhood library addresses
- A test deposit is approved and appears as a
NoteAdded - A real-proof transfer and withdrawal succeed on testnet