You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The deploy function can run arbitrary logic to deploy the contract, e.g., deploying via create, create2, using a factory, or a proxy. The deployer function should return the address and interface of the deployed contract so it can be called in subsequent steps.
129
133
130
-
After creating the deployer file, it's important to update the `Source Contract` path in the comment above the `initcode` function. This ensures that the correct contract is used for the initcode.
134
+
After creating the deployer file, it's important to update the `Source Contract` path in the comment above the `initcode` function. This ensures that the correct contract is used for the initcode. Additionally, the `solc` version, `optimizer_runs`, `via_ir`, and `evm_version` should be specified. These additional fields are used as safeguards to ensure that the correct initcode is inserted into the deployer file.
131
135
132
136
Finally, run `./script/util/create_briefcase.sh` to generate the initcode for the deployer and populate the bytecode in the initcode function.
-**Expected behavior**: Foundry should be able to recognize that the placeholders in the bytecode have been replaced by the actual library address and match the bytecode correctly to the contract name.
17
17
-**Workaround**: Generate the deployment logs manually after the deployment is complete using the `deploy-cli`.
18
-
19
-
## Solidity issues
20
-
21
-
- Compilation error when compiling the `PoolManager` contract
22
-
-**Description**: When compiling with compilation restrictions enabled, the `PoolManager` contract fails to compile. The Solidity issue can be tracked [here](https://github.com/ethereum/solidity/issues/15582).
23
-
-**Impact**: The `PoolManager` contract cannot be compiled.
24
-
-**Expected behavior**: The `PoolManager` contract should be compiled successfully.
25
-
-**Workaround**: v4-core is imported as a library and imported in a [helper file](./src/helper/PoolManagerImport.sol) in order to generate the required bytecode. As the code is not expected to change, this temporary workaround should not cause any disruptions.
0 commit comments