-
Nested smart contract deployments are not recorded
- Description: When a contract is deployed and deploys another contract in the constructor, the second deployment does not show up in the
additionalContracts
array. - Impact: When deploying a transparent proxy, the forge-chronicles library relies on the
additionalContracts
array to fetch the deployedProxyAdmin
contract. This functionality doesn't seem to work right now and thus theProxyAdmin
contract is not recorded in the deployment logs. - Expected behavior: The
additionalContracts
array should contain all the deployed contracts, including the nested ones. - Workaround: Generate the deployment logs manually after the deployment is complete using the
deploy-cli
.
- Description: When a contract is deployed and deploys another contract in the constructor, the second deployment does not show up in the
-
Linked external libraries make bytecode not recognizable
- Description: When a contract has a linked external library, the bytecode is not matched correctly by foundry and
contractName
isnull
. - Impact: Contracts deployed in this repo don't have deployment logs generated automatically.
- Example: NonfungibleTokenPositionDescriptor
- 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.
- Workaround: Generate the deployment logs manually after the deployment is complete using the
deploy-cli
.
- Description: When a contract has a linked external library, the bytecode is not matched correctly by foundry and
- Compilation error when compiling the
PoolManager
contract- Description: When compiling with compilation restrictions enabled, the
PoolManager
contract fails to compile. The Solidity issue can be tracked here. - Impact: The
PoolManager
contract cannot be compiled. - Expected behavior: The
PoolManager
contract should be compiled successfully. - Workaround: v4-core is imported as a library and imported in a helper file in order to generate the required bytecode. As the code is not expected to change, this temporary workaround should not cause any disruptions.
- Description: When compiling with compilation restrictions enabled, the