Skip to content

Conversation

@smol-ninja
Copy link
Member

No description provided.

andreivladbrg and others added 30 commits February 7, 2025 01:15
* refactor: remove broker

* refactor: update benchmarks

* docs: correct spelling

test: deploy contracts in fork tests

* test: polishes

* test: small changes

* test: increase coverage

---------

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>
* build: install evm-utils

refactor: remove Adminable logic from this repo
refactor: remove Batch logic from this repo
refactor: remove NoDelegateCall logic from this repo

refactor: use BaseScript from evm-utils

build: update evm utils

test: use evm utils common tests
test: remove mocks

refactor: remove no longer needed errors

* address shub's feedback

* build: update commit

test: declare the date in Defaults

* test: use UTC for feb 1 constant
…1173)

* feat: return refunded amounts in cancel functions

* feat: make cancelMultiple non-reverting

* docs: polish natspec

---------

Co-authored-by: andreivladbrg <andreivladbrg@gmail.com>
* test(refactor): StreamIDs struct in Types

* test: use shorter name for the stream ids

---------

Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>
* docs: rename VestingMath to StreamingMath

* refactor: rename functions to use short form

* docs: replace Longer form with Shorter form
* test: refactor fork tests

* test: fix bug

* test(fork): declare initialHolderBalance as uint128

test(fork): rename fuzzed param to create instead of lockup
test(defaults): remove unneeded function
test(assertions): add compare function for LockupLinear.UnlockAmounts

* move resetPrank above approve contract

---------

Co-authored-by: andreivladbrg <andreivladbrg@gmail.com>
* feat: implement aggregate balance logic

build: lower the optimizer runs

test: include aggregate balance assertions

* test(chore): correct inv string mess

* some nitpicks

---------

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>
docs: added badge and twitter link
* build: bump evm-utils

refactor: update tests and scripts accordingly

* chore: move evm-utils under dependencies

* fix remappings path

* test(defaults): declare 6D cliff amount based on the 18D one

chore: set rules off in solhint.json

* refactor: remove unneeded params from scripts
* docs: refactor SECURITY doc

* docs: smol polish

---------

Co-authored-by: Paul Razvan Berg <prberg@proton.me>
* docs: improve writing in NatSpec

refactor: use more named params
test: fix typos in comments, and improve writing
test: new invariant for deposited amounts sum >= aggregate balance

* docs: improve writing in NatSpec

test: more specific descriptors

* docs: polish comments

* test(invariant): remove redundant invariant

---------

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>
* chore: remove unused custom error

docs: add assumption about double entry-point tokens

* build: bump evm utils

build: lower optimizer runs to 50
feat: add native token logic
refactor: move modifier logic into private function
refactor: don't allow creation with native token
docs: improve assumption about double entry point token
test: update tests accordingly

* docs: add NatSpec for the token

* chore: rename custom error

docs: add more explanation for nativeToken

* typo

* build: 500 optimizer runs

* docs: polish comments
chore: add "test:bulloak" command
chore: add vscode formatter for json,md,svg,yaml
chore: remove file association
smol-ninja and others added 27 commits August 28, 2025 11:29
* build: rename prepare to setup

* docs: polish contributing guidelines
* test: use vm.getBlockTimestamp()

* build: bump evm-utils
test: inherit Calculations from BaseUtils

---------

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>
* build: bump evm-utils for deployments

* use npm package
* build: use routemesh for rpc endpoints

build: update supported chains
build: update package version

* version as salt for nftDescriptor

* polish explanatory comment

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>

---------

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>
* build: use "direct" instead of "lb" for endpoints

test: use the latest contracts deployed in fork tests

* bump deps

update base script test

* ci: fix secrets
docs: remove remappings guide from readme
* refactor: remove broker (#1166)

* refactor: remove broker

* refactor: update benchmarks

* docs: correct spelling

test: deploy contracts in fork tests

* test: polishes

* test: small changes

* test: increase coverage

---------

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>

* build: install evm utils (#1167)

* build: install evm-utils

refactor: remove Adminable logic from this repo
refactor: remove Batch logic from this repo
refactor: remove NoDelegateCall logic from this repo

refactor: use BaseScript from evm-utils

build: update evm utils

test: use evm utils common tests
test: remove mocks

refactor: remove no longer needed errors

* address shub's feedback

* build: update commit

test: declare the date in Defaults

* test: use UTC for feb 1 constant

* test: fix 1 FEB 2025 epoch timestamp

* feat: return value in cancel and make cancelMultiple non-reverting (#1173)

* feat: return refunded amounts in cancel functions

* feat: make cancelMultiple non-reverting

* docs: polish natspec

---------

Co-authored-by: andreivladbrg <andreivladbrg@gmail.com>

* build: bump evm-utils

* test(refactor): StreamIDs struct in Types (#1175)

* test(refactor): StreamIDs struct in Types

* test: use shorter name for the stream ids

---------

Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>

* chore: remove benchmarks (#1176)

* docs: renaming of functions and variables (#1177)

* docs: rename VestingMath to StreamingMath

* refactor: rename functions to use short form

* docs: replace Longer form with Shorter form

* test: refactor fork tests to use a shared contract (#1179)

* test: refactor fork tests

* test: fix bug

* test(fork): declare initialHolderBalance as uint128

test(fork): rename fuzzed param to create instead of lockup
test(defaults): remove unneeded function
test(assertions): add compare function for LockupLinear.UnlockAmounts

* move resetPrank above approve contract

---------

Co-authored-by: andreivladbrg <andreivladbrg@gmail.com>

* feat: erc20 recovery (#1182)

* feat: implement aggregate balance logic

build: lower the optimizer runs

test: include aggregate balance assertions

* test(chore): correct inv string mess

* some nitpicks

---------

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>

* test: add err arg to token assertion

* build: bump evm utils (#1186)

* build: bump evm-utils

refactor: update tests and scripts accordingly

* chore: move evm-utils under dependencies

* fix remappings path

* test(defaults): declare 6D cliff amount based on the 18D one

chore: set rules off in solhint.json

* refactor: remove unneeded params from scripts

* test(fork): run fork tests without forking the chain in non-production environment

* docs: update license date

* build: add more endpoints (#1200)

build: use public rpc

* docs: refactor SECURITY doc (#1206)

* docs: refactor SECURITY doc

* docs: smol polish

---------

Co-authored-by: Paul Razvan Berg <prberg@proton.me>

* build: use solc 0.8.29 (#1207)

* docs: improve writing in NatSpec (#1210)

* docs: improve writing in NatSpec

refactor: use more named params
test: fix typos in comments, and improve writing
test: new invariant for deposited amounts sum >= aggregate balance

* docs: improve writing in NatSpec

test: more specific descriptors

* docs: polish comments

* test(invariant): remove redundant invariant

---------

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>

* Audit fixes (#1209)

* chore: remove unused custom error

docs: add assumption about double entry-point tokens

* build: bump evm utils

build: lower optimizer runs to 50
feat: add native token logic
refactor: move modifier logic into private function
refactor: don't allow creation with native token
docs: improve assumption about double entry point token
test: update tests accordingly

* docs: add NatSpec for the token

* chore: rename custom error

docs: add more explanation for nativeToken

* typo

* build: 500 optimizer runs

* docs: polish comments

* docs: update contributing guide

chore: add "test:bulloak" command
chore: add vscode formatter for json,md,svg,yaml
chore: remove file association

* build: bump evm utils (#1225)

test(refactor): use setMsgSender

* test(chore): don't use named args for setMsgSender

* refactor: rename "aggregateBalance" to "aggregateAmount" (#1228)

* refactor: rename mapping to aggregateAmount

chore: add --nmt "testFork" in test lite

* chore: update comments

* test: polish invariants

* refactor: rename to "LockupMath"

---------

Co-authored-by: Paul Razvan Berg <prberg@proton.me>

* chore: use plural form for scripts (#1232)

chore: remove fs permissions from scripts

* refactor: move shell scripts under scripts/bash (#1233)

refactor: add solidity dir under scripts

* build: cache prettier

* chore: cache prettier checks

* docs: explain why shanghai EVM is used

* docs: relative links in CONTRIBUTING guide

* chore: fix taplo TOML formatter

chore: recommend VSCode extensions

* chore: remove redundant cache location

* build: use bun lock textfile

* chore: update prettier ignore paths

* Remove remappings (#1238)

* chore: remove remappings

* chore: git ignore bun.lockb

docs: remove remappings section for Node.js

* feat: collect fee with fee recipient (#1239)

* feat: collect fee with fee recipient

* docs: nitpick for error natspec

---------

Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>

* ci: new cache mechanism

* ci: use new gha-utils repo

* feat: access based control over collect fee function (#1242)

* feat: access based control over collect fee function

* docs: polish comment

* refactor: prefix events with parent contract

* style: imports order rule in solhint

* build: bump evm-utils

* build: bumpo evm-utils
docs: fix inherited components
perf: use internal function to check role

Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>

---------

Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>

* refactor: remove MAX_COUNT (#1243)

refactor: remove contract size check fron allowToHook

test: remove unneeded defaults

style: empty line between imports

docs: polish security assumption

* perf: refactor for code size optimization (#1244)

* perf: refactor for code size optimization

* refactor: remove Recover, AllowToHook and SetNFTDescriptor events
perf: index streamId in events

* revet: emit AllowToHook and SetNFTDescriptor events
perf: index event parameters

* fix typo

* revert: move code from LockupMath to SablierLockup
perf: assign struct directly into the storage

* perf: forward variables without struct inside internal functions

* refactor: use sender address to check stream existence

---------

Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>

* docs: remove extra spaces

* feat: state contract (#1247)

* feat: add SablierLockupState contract

refactor: move all SablierLockupBase logic into  SablierLockup
refactor: update error names accordingly
test: update import paths accordingly

chore: reclassifying function headers

refactor: use native type for the constructor param

include token to sender check

* internal header in batch contract

* refactor(test): rename lockup-base directory to lockup-state
fix: inherited components
chore: order events and functions alphabetically

---------

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>

* build: bump dependencies, refactor Defaults contract (#1249)

* build: bump openzeppelin, evm-utils and forge-std
test: separate constants from defaults contract
test: use random address, rewind and skip from forge-std
test: fix expected error if token address is not contract
chore: rename bun scripts

* chore: just use solhint

* build: bump evm-utils and solhint

* build: remove taiko endpoints

* chore: fix camel case for a variable

* build: bump evm-utils
refactor: functions classification in Sablier Lockup

* chore: various configs improvements

* ci: temporarily use evm-lint.yml workflow

* Merge pull request #1254 from sablier-labs/chore/just

chore: just scripts

* refactor: use comptroller (#1260)

* refactor: use comptroller

* perf: polish transferFeesToComptroller

docs: add natspec comments about comptroller
test: transferFeesToComptroller

* docs: polishes

test: admin to comptroller handler

* build: bump evm-utils commit

test: uncomment batch test

* build: bump evm-utils

test: update tests accordingly

* docs: improve transferFeesToComptroller natspec

* perf: uses ISablierComptroller in events
perf: removes feePaid variable from _withdraw
docs: polishes comments
test: sets comptroller as caller in modifier
chore: adds optional args in justfile

* script: fix just command

* chore: uses ETH_FROM in .env.example

* docs: polish comment

* revert: feePaid variable

* build: bump evm-utils

refactor: remove transfer fees function

* chore: remove unused code

---------

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>

* chore: bump date

* refactor: adds separate contract and type for each lockup model  (#1261)

* refactor: adds abstract contracts specific to each lockup model
refactor: types into individual lockup types
refactor: keeps DataTypes.sol for backward compatibility
test: rename lockup-state directory to lockup

* resolve conflicts

* docs: polish comments

* chore: repomix config

chore: update vscode settings
chore: update gitignore

* chore: format repomix config

* chore: remove smt (#1265)

* chore: remove smt profile

chore: format files
chore: use infura api key

* chore: rename bnb to bsc

---------

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>

* ci: remove generate svg workflow (#1266)

* docs: add invariants README (#1269)

* docs: add invariant README for Lockup contract

* docs: polish invariant readme

* chore: order invariants according to readme

* chore: fix lint issues

---------

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>

* style: format invariant README

* docs: sequential order

* refactor: ComptrollerManager to Comptrollerable (#1268)

* refactor: ComptrollerManager to Comptrollerable

* docs: update license

* build: bump evm-utils

* chore: remove main tag

* run prettier-write

---------

Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>

* feat: function to calculate min fee in wei for a given stream ID (#1270)

* feat: function to calculate min fee in wei for a given stream ID
refactor: use the new function to calculate min fee in wei
test: add integration test for calculateMinFeeWei

* test: use constant price

---------

Co-authored-by: Andrei Vlad Birgaoanu <andreivladbrg@gmail.com>

* docs: update readme
build: bump evm-utils

* build: set bytecode_hash to ipfs

* feat: add `CreateBatchLockup` event in `BatchLockup` (#1274)

* feat: emit funder in Lockup create events
feat: emit event in BatchLockup create functions

* refactor: rename to CreateBatchLockup

---------

Co-authored-by: Paul Razvan Berg <prberg@proton.me>

* docs: update license ens (#1275)

* docs: update ens subname in license

* chore: use plural for ens subname

* docs: update ens subname in license

* build: bump solhint (#1276)

* chore: disable no-console in solhint tests

* build: bump evm-utils package

* Add invariant comparing gas used by create with cancel and withdraw (#1281)

* test(invariant): gasUsed(create) >= gasUsed(withdraw) || gasUsed(cancel)

* test(invariant): use enum to record gas usage

Co-authored-by: Paul Berg <prberg@proton.me>

---------

Co-authored-by: Paul Berg <prberg@proton.me>

* build: bump forge-std to v1.10.0

* test: fix inheritances in utils contracts

* chore: add show_metrics and lint_on_build in foundry config

* build: bump evm-utils

* build: rename `prepare` script to `setup` (#1285)

* build: rename prepare to setup

* docs: polish contributing guidelines

* docs: roll v3.0.0-beta.0

* test: fix invariant deal (#1287)

* test: use `getBlockTimestamp()` instead of `block.timestamp` (#1288)

* test: use vm.getBlockTimestamp()

* build: bump evm-utils
test: inherit Calculations from BaseUtils

---------

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>

* test: fix names when multiple functions are tested in the same file

* build: bump evm-utils for deployments (#1289)

* build: bump evm-utils for deployments

* use npm package

* Deployment preparation (#1290)

* build: use routemesh for rpc endpoints

build: update supported chains
build: update package version

* version as salt for nftDescriptor

* polish explanatory comment

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>

---------

Co-authored-by: smol-ninja <shubhamy2015@gmail.com>

* chore: include "Lockup" in nft descriptor scripts (#1291)

* feat: add nft descriptor addresses (#1292)

* fix: add broadcast modifier in protocol scripts (#1293)

change the testnets rpc endpoints

* chore: misc

* chore: add zksync nft descriptor

* script: add previous nft descriptor for hyperevm

* build: use "direct" instead of "lb" for endpoints (#1294)

* build: use "direct" instead of "lb" for endpoints

test: use the latest contracts deployed in fork tests

* bump deps

update base script test

* ci: fix secrets

* ci: remove fork path from coverage (#1295)

* chore: merging conflicts when rebasing from main

* docs: release 3.0.0

* docs: polish changelog

* docs: remove forge-std update from changelog
docs: remove remappings guide from readme

* docs: update forge install commands

* docs: reference deployments guide from docs

---------

Co-authored-by: Andrei Vlad Birgaoanu <99738872+andreivladbrg@users.noreply.github.com>
Co-authored-by: andreivladbrg <andreivladbrg@gmail.com>
Co-authored-by: Paul Razvan Berg <prberg@proton.me>
Co-authored-by: Hayk-1315 <162503366+Hayk-1315@users.noreply.github.com>
* bump version to 3.0.1

* docs: add changelog for v3.0.1
@smol-ninja smol-ninja merged commit 209212d into release Oct 14, 2025
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants