Merged
Conversation
* test: use mainnet address in fork testing * script: remove virtual modifier from run script * build: ignore fork tests for non optimized profiles test(fork): initialize default contract in fork setup test(fork): use deployed factory admin * test: load factoryAdmin in Fork setUp Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com> --------- Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>
* refactor: separate out parameters struct for Merkle Instant and Merkle Lockups refactor: refactor shape and camapign name as bytes32 in Merkle campaign constructor arguments * chore: contract inheritance * test: deploy factory locally for fork tests * refactor: create param struct for merkle contracts * refactor: rename CreateParams to ConstructorParams refactor: remove aggregateAmount and recipientCount from ConstructorParams * refactor: say params instead of constructorParams docs: add natspec for missing params --------- Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>
* refactor: rename defaultFee to minimumFee * chore: polish events and comments Co-authored-by: Paul Razvan Berg <paul.razvan.berg@gmail.com> --------- Co-authored-by: Paul Razvan Berg <paul.razvan.berg@gmail.com>
* feat: MerkleVCA contract refactor: separate out parameters struct for Merkle Instant and Merkle Lockups refactor: refactor shape and camapign name as bytes32 in Merkle campaign constructor arguments chore: contract inheritance test: deploy factory locally for fork tests feat: merkle vca contract feat: add CreateMerkleVCA run script refactor: rename schedule to _vestingSchedule in MerkleVCA feat: add SablierMerkleVCA in prepare-artifacts bash script refactor: replace internal variables with private in non-abstract contracts refactor: 7 days claim window post vesting unlock fix: set sacrificedAmount to 0 in refundSacrificedAmount function refactor: error name feat: revert claim if vesting start time is in future feat: revert createMerkleVCA if either of vesting times is zero test: integration tests for createMerkleVCA fix: calculate claimable amount only if blocktime is in the vesting range test: add merkleVCA integration tests test: integration tests test: fork tests for merkleVCA test: remove Vars struct from merkle instant contructor test refactore: rename sacrifiedAmount to forgoneAmount * chore: use minimum fee * refactor: move input checks to merkleVCA constructor Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com> * refactor: pre declare the blockTimestamp in _claim chore: use named args in transfer function chore: correct prepare artifacts interface * andrei's feedback Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com> * feat: revert vca if expiry is zero * docs: explanatory comment about cast test: rename dir to tokens small polishes * test: fix fork tests * docs: correct notice natspec --------- Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>
* refactor: add multiple factories refactor: update deployment scripts to deploy all factories feat: add initial minimumfee in factories test: update tests accordingly test: fix fork setUp * build: update prepare artifacts script * chore: remove ISablierMerkleFactory docs: add natspecs over SablierMerkleFactoryBase test: remove redundant lines from Base test chore: use Merkle Factory contracts instead of Merkle Factories contracts chore: remove redundant imports test(fork): load factory admin in individual contracts test(integration): add missing SetMinimumFee_Integration_Test tests test(integration): use non-default fee value in SetMinimumFee_Integration_Test tests --------- Co-authored-by: smol-ninja <shubhamy2015@gmail.com>
* test(refactor): move all constants into CONSTANT contract test: remove redundant functions from Defaults test: remove Defaults contract fix bugs * test: move functions from Integration to Base test: rename function params with "_" * test: revert param names with underscore --------- Co-authored-by: andreivladbrg <andreivladbrg@gmail.com>
* feat: get stream ids associated with airdrop claim rename claimedStreamIds to claimedStreams * docs: use CEI terminology in explanatory comments --------- Co-authored-by: andreivladbrg <andreivladbrg@gmail.com>
* refactor: integrate evm-utils and bump lockup version * test: change JULY_1_2024 to FEB_1_2025 test: remove unneeded deployment of mocks test: import only StdCheats --------- Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>
docs: added badge and twitter link
* feat: implement chainlink oracle refactor: change the minimum fee to USD price instead of wei build: set ffi true test: add a python script to fetch prices test: add fork tests for the price feeds test: add a mock price feed contract test: add a contract to store the addresses test: update tests accordingly * test: rename price feed testing contract * feat: implement setMinimumFeeToZero function * feat: check if the chainlink price feed return zero price test: update tests accordingly * build: use public rpc for all chain expect mainnet and sepolia test: remove python script test: fork chains at specific block numbers * ci: remove python step * build: remove zksync rpc * remove unneeded function * refactor: rename event * test: add calculate minimum fee in wei tests * feat: add maximum fee in factory * test: fix failing tests * various fixes and polishes * remove additional space * refactor: rename price feed to oracle refactor: remove price check in _setOracle refactor: rename params * fix bulloak check * refactor: change setMinimumFeeToZero to lowerMinimumFee * feat: add oracle address in the create events * perf: cover cases when oracle decimals are not 8 refactor: remove tests and move contract to scripts refactor: remove initial minimum fee contract * remove redundant import * shub feedback Co-authored-by: smol-ninja <shubhamy2015@gmail.com> * polish comments * refactor: rename function * polish docs --------- Co-authored-by: smol-ninja <shubhamy2015@gmail.com>
* feat: transfer tokens to recipient if claim time exceeds vesting endtime in merkle lockup docs: add notes in claim natspecs feat: add a new Claim event in merkle lockup interface test: fuzz start time in merkle lockup test: use ranged streams as default streams for integration tests perf: use schedule in memory docs: polish natspecs test(fork): assertEq for expected lockup stream test(fork): move hasClaimed assert outside if block test(claim): re order tree branches test: don't use variable names in tree branches chore: set max-line-length rule to 128 test: polish comment Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com> * bump lockup --------- Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>
* short circuit for 2 if conditions * script: refactor scripts * tests: refactor chainlink PR tests * revert some changes * script: add initialMinimumFee in Base script test: add BaseScript_Test test: revert changes in create script * refactor test name * move campaignType back to minimumFeeInWei.t.sol * andrei's suggestion about resetCustomFee.t.sol * use assertNotEq in resetCustomFee * use assertNotEq in setCustomFee * test: revert multichain fork tests removal chore: rename file docs: improve explanatory comments * test: say chainlink oracle instead of price feed * tests: polish chainlink oracle tests --------- Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>
docs: update license
build: use public rpc
test: move base contracts in Base_Test test: implement Merkle_Fork_Test and move common logic
* docs: refactor SECURITY doc * docs: smol polish --------- Co-authored-by: Paul Razvan Berg <prberg@proton.me>
* feat: add validity start time for claim signature * test: polish * test: add VALID_FROM constant Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com> --------- Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>
* feat: getter in factory test: the new getter * refactor: move checks from constructor to factory feat: add compute functions for LL and Instant * fix: error name * chore: polish comments * bring back variable in LT event rename check function * refactor: rename _calculateTotalPercentage to _calculateTrancheTotals perf: calculate totalDuration inside _calculateTrancheTotals --------- Co-authored-by: smol-ninja <shubhamy2015@gmail.com>
* docs: update ens subname in license * chore: use plural for ens subname
* build: bump solhint * test: fix lockup deployment
script: fix target dirs in prepare-artifacts
* build: bump evm-utils for deployments * use npm package
build: update supported chains build: update package version
* build: update bun lockfile * script(solidity): add factory as run input and update token address test(fork): use deployed addresses * ci: add routemesh variable chore: update routemesh url * fix fork test * test(fork): add lockup v3.0 address
docs: update forge install comands
Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>
chore: release v2.0.0
* bump version to 2.0.1 * build: bump lockup dep
andreivladbrg
approved these changes
Oct 15, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.