Purpose
The factory serves as the entry point for the programmable address system:- Address generation: Computes programmable addresses without onchain transactions
- Contract deployment: Deploys programmable address contracts when funds are received
- Configuration storage: Holds immutable settings for all programmable address contracts it creates
Constructor
Functions
getDepositAddress
Computes the deterministic programmable address for a given destination.destinationAddress: destination wallet address as bytes32 (cross-VM compatible)
- The EVM address where the user should send tokens
isDeployed
Checks if a programmable address contract has been deployed for a destination.deploy
Deploys a new programmable address contract for the specified destination.destinationAddress: destination wallet address as bytes32 (cross-VM compatible)depositor: Address authorized to trigger refunds
- Address of the deployed programmable address contract
getConfiguration
Returns all factory configuration values.Configuration Getters
Individual getters for each configuration value:DESTINATION_CHAIN()- Target chain IDSOURCE_TOKEN()- Source token addressTARGET_TOKEN()- Target token (bytes32)PORTAL_ADDRESS()- Portal contract addressPROVER_ADDRESS()- Prover contract addressDESTINATION_PORTAL()- Destination portal (bytes32)INTENT_DEADLINE_DURATION()- Deadline durationDEPOSIT_IMPLEMENTATION()- Implementation contract address
