The contract address is a unique identifier of the contract on StarkNet. It is a chain hash of the following information:
The computation is roughly the following:
contract_address := pedersen( “STARKNET_CONTRACT_ADDRESS”, caller_address, salt, pedersen(contract_code), pedersen(constructor_calldata))
You can find the address computation on our repo here.