The SablierV2MerkleLockupFactory
contract uses the create
method in the createMerkleLL
and createMerkleLT
functions. While the deployment of a new SablierV2MerkleLL
and SablierV2MerkleLT
contracts using create
is generally safe, there is a potential risks associated with blockchain reorgs.
The SablierV2MekleLockupFactory::createMerkleLL
and SablierV2MekleLockupFactory::createMerkleLT
functions deploy a new SablierV2MerkleLL
and SablierV2MerkleLT
contracts using the create
method, where the address derivation depends only on the arguments passed.
The problem is that some of the chains like Arbitrum and Polygon are suspicious of the reorg attack. Polygon reorg reference:
https://protos.com/polygon-hit-by-157-block-reorg-despite-hard-fork-to-reduce-reorgs/
This one happened in February, 2023.
A blockchain reorg occurs when nodes in the network receive blocks that create a longer chain than the current one, causing the network to discard the shorter chain. This can lead to a temporary state where transactions that were considered confirmed are reverted.
If a reorg occurs after the deployment transaction is included in a block but before it is deeply confirmed, the transaction might be reverted. This could lead to a scenario where the contract is considered deployed and events are emitted, but the contract does not exist after the reorg. This leads to inconsistencies for the transactions that assume its existence.
Also, claims validated and processed before a reorg might be invalidated if the transactions are rolled back. And streams
created via LOCKUP_LINEAR.createWithDurations
and/or LOCKUP_TRANCHED.createWithDurations
will be rolled back. This means the recipient will not receive the funds, and the streamId
would not exist anymore.
Manual Review
Use create2
method with salt
that includes msg.sender
to deploy the SablierV2MerkleLL
and SablierV2MerkleLT
contracts.
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.