Skip to content

Commit

Permalink
chore: use named in _deployMerkleLT
Browse files Browse the repository at this point in the history
chore: order variables in constructor
test: say campaignCreator instead of caller
  • Loading branch information
andreivladbrg committed Jan 7, 2025
1 parent 91410c6 commit 18652da
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 16 deletions.
10 changes: 8 additions & 2 deletions src/SablierMerkleFactory.sol
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,14 @@ contract SablierMerkleFactory is
}

// Deploy the MerkleLT contract.
merkleLT =
_deployMerkleLT(baseParams, lockup, cancelable, transferable, streamStartTime, tranchesWithPercentages);
merkleLT = _deployMerkleLT({
baseParams: baseParams,
lockup: lockup,
cancelable: cancelable,
transferable: transferable,
streamStartTime: streamStartTime,
tranchesWithPercentages: tranchesWithPercentages
});

// Log the creation of the MerkleLT contract, including some metadata that is not stored on-chain.
emit CreateMerkleLT({
Expand Down
4 changes: 2 additions & 2 deletions src/abstracts/SablierMerkleBase.sol
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,14 @@ abstract contract SablierMerkleBase is

/// @notice Constructs the contract by initializing the immutable state variables.
constructor(MerkleBase.ConstructorParams memory params, address campaignCreator) Adminable(params.initialAdmin) {
CAMPAIGN_NAME = bytes32(abi.encodePacked(params.campaignName));
EXPIRATION = params.expiration;
FACTORY = msg.sender;
FEE = ISablierMerkleFactory(FACTORY).getFee(campaignCreator);
MERKLE_ROOT = params.merkleRoot;
SHAPE = bytes32(abi.encodePacked(params.shape));
TOKEN = params.token;
CAMPAIGN_NAME = bytes32(abi.encodePacked(params.campaignName));
ipfsCID = params.ipfsCID;
SHAPE = bytes32(abi.encodePacked(params.shape));
}

/*//////////////////////////////////////////////////////////////////////////
Expand Down
18 changes: 9 additions & 9 deletions tests/Base.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ abstract contract Base_Test is Assertions, Constants, DeployOptimized, Modifiers
//////////////////////////////////////////////////////////////////////////*/

function computeMerkleInstantAddress(
address caller,
address campaignCreator,
address campaignOwner,
IERC20 token_,
bytes32 merkleRoot,
Expand All @@ -197,9 +197,9 @@ abstract contract Base_Test is Assertions, Constants, DeployOptimized, Modifiers
baseParams.initialAdmin = campaignOwner;
baseParams.merkleRoot = merkleRoot;

bytes32 salt = keccak256(abi.encodePacked(caller, abi.encode(baseParams)));
bytes32 salt = keccak256(abi.encodePacked(campaignCreator, abi.encode(baseParams)));
bytes32 creationBytecodeHash =
keccak256(getMerkleInstantBytecode(caller, campaignOwner, token_, merkleRoot, expiration));
keccak256(getMerkleInstantBytecode(campaignCreator, campaignOwner, token_, merkleRoot, expiration));
return vm.computeCreate2Address({
salt: salt,
initCodeHash: creationBytecodeHash,
Expand All @@ -208,7 +208,7 @@ abstract contract Base_Test is Assertions, Constants, DeployOptimized, Modifiers
}

function computeMerkleLLAddress(
address caller,
address campaignCreator,
address campaignOwner,
IERC20 token_,
bytes32 merkleRoot,
Expand All @@ -225,7 +225,7 @@ abstract contract Base_Test is Assertions, Constants, DeployOptimized, Modifiers
baseParams.merkleRoot = merkleRoot;
bytes32 salt = keccak256(
abi.encodePacked(
caller,
campaignCreator,
abi.encode(baseParams),
lockup,
defaults.CANCELABLE(),
Expand All @@ -234,7 +234,7 @@ abstract contract Base_Test is Assertions, Constants, DeployOptimized, Modifiers
)
);
bytes32 creationBytecodeHash =
keccak256(getMerkleLLBytecode(caller, campaignOwner, token_, merkleRoot, expiration));
keccak256(getMerkleLLBytecode(campaignCreator, campaignOwner, token_, merkleRoot, expiration));
return vm.computeCreate2Address({
salt: salt,
initCodeHash: creationBytecodeHash,
Expand All @@ -243,7 +243,7 @@ abstract contract Base_Test is Assertions, Constants, DeployOptimized, Modifiers
}

function computeMerkleLTAddress(
address caller,
address campaignCreator,
address campaignOwner,
IERC20 token_,
bytes32 merkleRoot,
Expand All @@ -260,7 +260,7 @@ abstract contract Base_Test is Assertions, Constants, DeployOptimized, Modifiers
baseParams.merkleRoot = merkleRoot;
bytes32 salt = keccak256(
abi.encodePacked(
caller,
campaignCreator,
abi.encode(baseParams),
lockup,
defaults.CANCELABLE(),
Expand All @@ -270,7 +270,7 @@ abstract contract Base_Test is Assertions, Constants, DeployOptimized, Modifiers
)
);
bytes32 creationBytecodeHash =
keccak256(getMerkleLTBytecode(caller, campaignOwner, token_, merkleRoot, expiration));
keccak256(getMerkleLTBytecode(campaignCreator, campaignOwner, token_, merkleRoot, expiration));
return vm.computeCreate2Address({
salt: salt,
initCodeHash: creationBytecodeHash,
Expand Down
6 changes: 3 additions & 3 deletions tests/integration/Integration.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ contract Integration_Test is Base_Test {

function computeMerkleInstantAddress(address campaignOwner, uint40 expiration) internal view returns (address) {
return computeMerkleInstantAddress({
caller: users.campaignOwner,
campaignCreator: users.campaignOwner,
campaignOwner: campaignOwner,
token_: dai,
merkleRoot: defaults.MERKLE_ROOT(),
Expand Down Expand Up @@ -100,7 +100,7 @@ contract Integration_Test is Base_Test {

function computeMerkleLLAddress(address campaignOwner, uint40 expiration) internal view returns (address) {
return computeMerkleLLAddress({
caller: users.campaignOwner,
campaignCreator: users.campaignOwner,
campaignOwner: campaignOwner,
token_: dai,
merkleRoot: defaults.MERKLE_ROOT(),
Expand Down Expand Up @@ -138,7 +138,7 @@ contract Integration_Test is Base_Test {

function computeMerkleLTAddress(address campaignOwner, uint40 expiration) internal view returns (address) {
return computeMerkleLTAddress({
caller: users.campaignOwner,
campaignCreator: users.campaignOwner,
campaignOwner: campaignOwner,
token_: dai,
merkleRoot: defaults.MERKLE_ROOT(),
Expand Down

0 comments on commit 18652da

Please sign in to comment.