Open Ansellmo opened 10 months ago
And I use the V4 Branch
Those errors are caused by a "new" (past couple months) Foundry release.
For now, we pinned the repo's CI to use this nightly release: https://github.com/enzymefinance/protocol/blob/dev/.github/workflows/ci.yaml#L37
You can either update your local Foundry to use that same release, or if you use nix
, I think you should be able to use the flake file in this repo (assuming it's up-to-date). If that doesn't work, please report back.
Hello,
I encountered an issue after executing the make test command. Could you please assist me in resolving this problem? (I am using an Ubuntu 22.04 machine. The version of bun is 1.0.20. Make: 4.3 direnv 2.33.0 Nix 2.19.2 Foundry 0.2.0) And I ran make build without problem ~/protocol$ make test [⠑] Compiling... [⠘] Compiling 60 files with 0.7.6 [⠃] Compiling 505 files with 0.8.19 [⠔] Compiling 290 files with 0.6.12 [⠘] Solc 0.7.6 finished in 932.80ms [⠘] Solc 0.8.19 finished in 5.71s [⠊] Solc 0.6.12 finished in 10.82s Error: Compiler run failed: Error (9574): Type IIntegrationAdapter.SpendAssetsHandleType is not implicitly convertible to expected type uint8. --> tests/utils/core/AdapterUtils.sol:92:9: | 92 | ( | ^ (Relevant source part starts here and spans across multiple lines).
Error (9553): Invalid type for argument in function call. Invalid implicit conversion from uint8[] memory to IValueInterpreter.RateAsset[] memory requested. --> tests/utils/core/AssetUniverseUtils.sol:81:26: | 81 | _rateAssets: rateAssetsUint8 | ^^^^^^^^^^^^^^^
Error (7398): Explicit type conversion not allowed from non-payable "address" to "contract IVaultLib", which has a payable fallback function. --> tests/utils/core/ExternalPositionUtils.sol:57:32: | 57 | IVaultLib vaultProxy = IVaultLib(_comptrollerProxy.getVaultProxy()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error (7398): Explicit type conversion not allowed from non-payable "address" to "contract IVaultLib", which has a payable fallback function. --> tests/tests/core/fund-deployer/FundDeployerMigrationIn.t.sol:33:9: | 33 | IVaultLib(address(vaultProxyCore)).setMigrator(migrator); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error (9553): Invalid type for argument in function call. Invalid implicit conversion from uint8 to IAddressListRegistry.UpdateType requested. --> tests/tests/peripheral/DepositWrapper.t.sol:40:26: | 40 | _updateType: uint8(AddressListUpdateType.AddAndRemove), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error (7398): Explicit type conversion not allowed from non-payable "address" to "contract IDepositWrapper", which has a payable fallback function. --> tests/tests/peripheral/DepositWrapper.t.sol:67:16: | 67 | return IDepositWrapper(deployCode("DepositWrapper.sol", args)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error (9553): Invalid type for argument in function call. Invalid implicit conversion from uint8 to IAddressListRegistry.UpdateType requested. --> tests/tests/policies/CumulativeSlippageTolerancePolicy.t.sol:68:26: | 68 | _updateType: uint8(UpdateType.AddAndRemove) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error (9553): Invalid type for argument in function call. Invalid implicit conversion from int_const 0 to INoDepegOnRedeemSharesForSpecificAssetsPolicy.PolicyHook requested. --> tests/tests/policies/NoDepegOnRedeemSharesForSpecificAssetsPolicy.t.sol:259:65: | 259 | assertTrue(policy.validateRule(comptrollerProxyAddress, 0, ""), "control case"); | ^
Error (9553): Invalid type for argument in function call. Invalid implicit conversion from int_const 0 to INoDepegOnRedeemSharesForSpecificAssetsPolicy.PolicyHook requested. --> tests/tests/policies/NoDepegOnRedeemSharesForSpecificAssetsPolicy.t.sol:266:65: | 266 | assertTrue(policy.validateRule(comptrollerProxyAddress, 0, ""), "within lower bound"); | ^
Error (9553): Invalid type for argument in function call. Invalid implicit conversion from int_const 0 to INoDepegOnRedeemSharesForSpecificAssetsPolicy.PolicyHook requested. --> tests/tests/policies/NoDepegOnRedeemSharesForSpecificAssetsPolicy.t.sol:270:66: | 270 | assertFalse(policy.validateRule(comptrollerProxyAddress, 0, ""), "outside of lower bound"); | ^
Error (9553): Invalid type for argument in function call. Invalid implicit conversion from int_const 0 to INoDepegOnRedeemSharesForSpecificAssetsPolicy.PolicyHook requested. --> tests/tests/policies/NoDepegOnRedeemSharesForSpecificAssetsPolicy.t.sol:275:65: | 275 | assertTrue(policy.validateRule(comptrollerProxyAddress, 0, ""), "within upper bound"); | ^
Error (9553): Invalid type for argument in function call. Invalid implicit conversion from int_const 0 to INoDepegOnRedeemSharesForSpecificAssetsPolicy.PolicyHook requested. --> tests/tests/policies/NoDepegOnRedeemSharesForSpecificAssetsPolicy.t.sol:279:66: | 279 | assertFalse(policy.validateRule(comptrollerProxyAddress, 0, ""), "outside of upper bound"); | ^
Error (7398): Explicit type conversion not allowed from non-payable "address" to "contract ICompoundAdapter", which has a payable fallback function. --> tests/tests/protocols/compound/CompoundV2Adapter.t.sol:64:16: | 64 | return ICompoundAdapter(deployCode("CompoundAdapter.sol", args)); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error (9553): Invalid type for argument in function call. Invalid implicit conversion from uint8 to IAddressListRegistry.UpdateType requested. --> tests/tests/protocols/kiln/KilnStakingPosition.t.sol:145:26: | 145 | _updateType: uint8(AddressListUpdateType.AddAndRemove), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error (9553): Invalid type for argument in function call. Invalid implicit conversion from uint8 to IAddressListRegistry.UpdateType requested. --> tests/tests/protocols/zeroex/ZeroExV4Adapter.t.sol:70:26: | 70 | _updateType: uint8(AddressListUpdateType.None), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
make: *** [Makefile:55: test] Error 1
PS: I created .env file, and the is no problem with that