The BiconomyMetaFactory contract doesn't forward any potential received ETH to the underlying factory call.
The BiconomyMetaFactory contract works as a meta-deployer of accounts. It has a deployWithFactory()
function that takes a factory and executes an inner call to create the account.
The function is marked as payable, indicating it may receive ETH. However, there is no handling of the potential received value. ETH is not forwarded to the inner factory and would be stuck in the contract.
Note that this is an intended use case, since factories expect to receive ETH to create the account. For example, in the NexusAccountFactory contract the createAccount()
function is marked as payable and can be used to send ETH to the created account using the LibClone.createDeterministicERC1967()
utility function.
ETH sent to the deployWithFactory()
function is not forwarded to the underlying factory and would be left unused in the BiconomyMetaFactory contract, causing loss of funds.
None.
Forward the callvalue to the inner factory call.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.