Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include all 2.1 changes in main #237

Merged
merged 59 commits into from
Dec 16, 2023
Merged

Include all 2.1 changes in main #237

merged 59 commits into from
Dec 16, 2023

Conversation

andreivladbrg
Copy link
Member

andreivladbrg and others added 30 commits December 16, 2023 17:45
* feat: add withdrawMultiple function

* test: withdrawMultiple function

* test: update Precompiles bytecode
* feat: add SablierV2ProxyTargetPermit2

feat: add SablierV2ProxyTargetERC20
refactor: make SablierV2ProxyTarget abstract

* test: both ERC20 and Permit2 targets

test: add shared dir

* feat: add ERC20 target scripts

* refactor: switch to bytes param in abstract contract

* test: update tests

* docs: improve wording in natspec

chore: remove unnecessary imports

* build: update prepare-artifacts

* docs: improve wording in natspec

* test: batch create for both targetERC20 and targetPermit2 on fork

test: approve alice's proxy to spend assets from alice

* test: wrapAndCreate for both ERC20 and Permit2 targets

test: batchCancel for both ERC20 and Permit2 targets
style: reorder test function

* test: fix onStreamCanceled tests

* build: add target erc20 in update-precompiles

* test: add precompiles tests for proxy target erc20

test: update permit2 precompiles tests

* chore: remove unused imports

style: order alphabetically in Base_Test

* chore: update gas snapshot

* feat: add ERC20 target in deploy periphery scripts

* ops: add deploy-proxy-target-erc20 workflow

chore: rename workflow to deploy-proxy-target-permit2

* chore: update names in scripts

* docs: add natspec for targets

* test: assign "target" in deploy function

* test: rename proxy target directories

* test: refactor fork tests as shared contracts

* refactor: rename "data" to "transferData"

fix: change variable type to "uint160"
docs: improve natspec comments of transfer functions
test: pass empty "transferData" for ERC-20 target tests
test: use named parameters

* refactor: rename "TargetERC20" to "TargetApprove"

* test: update precompiles

* fix: use "safeTransferFrom"

* fix: update TargetApprove name

chore: remove stale artifacts from "prepare-artifacts" script
ci: update names in github workflows
docs: polish writing
test: update precompiles

* test: selective transfer data in "cancelAndCreate"

* refactor: update gas snapshot

* style: correct bad formatting

* feat: add targetApprove in DeployProtocol script

* test: add helper function for approve

* build: add both targets in prepare-artifacts

* test: move "approveProxyOrPermit2" at the base

* test: remove nested "shared" directory

* test: run tests on ProxyTargetPermit2

test: do not run "setUp" twice
test: fix permit2 amount
test: label targets correctly
test: mark "WrapAndCreate_Fork_Test" as abstract

* style: forge fmt

---------

Co-authored-by: Paul Razvan Berg <[email protected]>
* feat: add "ProxyTargetPush"

test: test "ProxyTargetPush"

* test: fix expect call in target push

build: add target push in prepare-artifacts
ci: add workflow for target push

* feat: add push target in deploy script

* fix: fix Stack Too Deep in DeployProtocol

* refactor: remove SafeERC20 from target push

---------

Co-authored-by: andreivladbrg <[email protected]>
docs: add "Contributing" section
* feat: implement lockup linear airstream campaign

* test: lockup linear campaign's functions

test: add and test MerkleBuilder library
test: add BaseImports file

* test: add fork tests for airstream campaign

* refactor: rename parameters

chore: correct comment about salt

* test: add precompiles test for campaign factory

test: rename deploy function
test: add natspec in MerkleBuilder

* feat: add campaign scripts

* build: add campaign factory in update precompiles
ci: add workflow for factory deployment

* chore: improve wording in explanatory comment

test: improve tree branches for claim function

* test: add missing branch in claim tree

* build: add airstream campaign in prepare-artifacts

test: remove BaseImports file

* feat: add hasExpired function

feat: add _checkClaim function
refactor: improve custom error names
test: add explanatory tree in MerkleBuilder library
test: improve MerkleBuilder tree tests
chore: correct header for claim function

* test: hasExpired function

* chore: add explantory comment

* test: remove leaves count constant in defaults

* test: order alphabetically the fork test contracts

* test: correct claim test

* test: update Precompiles bytecode

* feat: add campaign factory in the deploy periphery and protocol scripts

* refactor: use struct for params in CreateAirstreamCampaignLL script

ci: add workflow for CreateAirstreamCampaignLL script

* refactor: reorder constructor params

docs: improve writing in documentation
feat: emit more params in "CreateAirstreamCampaignLL"
feat: include LockupLinear contract address in hash
refactor: rename custom errors
refactor: misc enhancements
refactor: rename to "airstreamCampaignFactory"
test: rename "recipient" to "recipient0"

* refactor: use BitMaps from OpenZeppelin

* feat: add LockupLinear in event

* test: replace local implementations with Murky

* test: solhint-disable

* test: remove unnecessary tree branches in clawback tests

* chore: use named args in custom error

* test: rename function to createDefaultAirstreamCampaignLL

* test: cover a greater range of leaf data size

* test: assume that recipients can't be address zero

* fix: correct custom error name

* build: campaign interfaces in prepare-artifacts

test: update precompile bytecode

* test: add bespoke "Airstream_Integration_Test" contract

test: improve writing in branching trees
test: fuzz expiration in airstream tests
test: order vars alphabetically
test: various improvements

* test: update precompiles

* test: check admin address in fork tests

test: seed for recipient address

---------

Co-authored-by: Paul Razvan Berg <[email protected]>
* test: use "given" keyword in branching trees

* test: polish given keyword tests

* test: polish tree branches

---------

Co-authored-by: Paul Razvan Berg <[email protected]>
* feat: implement SablierV2BatchCreate contract

* test: add integration tests for SablierV2BatchCreate

* test: add fork tests for SablierV2BatchCreate

* refactor: rename batch contract

refactor: rename batch contract functions

* feat: add deployment scripts for SablierV2Batch

chore: add missing header in ISablierV2Batch
ci: add workflow for SablierV2Batch scripts

* feat: add SablierVBatch in deploy periphery scripts

build: add SablierVBatch in prepare-artifacts
build: add SablierVBatch in update-precompiles
test: add precompiles tests for SablierVBatch

* test: approve batch contract in integration set up

test: rename batch dirs and functions

* test: rename local variable to batchParams

* build: correct contract name

* chore: remove unused imports

style: forge fmt

* test: fix stack too deep error in Precompiles_Test

* test: polish variables

---------

Co-authored-by: Paul Razvan Berg <[email protected]>
* refactor: rename "AirstreamCampaign" to "MerkleStreamer"

* test: polish PR 168 (#188)

* chore: order Merkle stream alphabetically

chore: correct typos
test: update BYTECODE_MERKLE_STREAMER_FACTORY

* test: rename dir to "ll"

---------

Co-authored-by: Andrei Vlad Birgaoanu <[email protected]>
refactor: use a struct in script to prevent Stack Too Deep
chore: update gas snapshot
test: update Precompiles bytecodes
* refactor: change the interface stored in "_merkleStreamers"

refactor: change the interface returned in getMerkleStreamers
test: update tests accordingly

* refactor: change order of parameters in salt

* refactor: rename emitted variable to aggregateAmount

* test: update Precompiles bytecode

* test: correct constant name

* docs: improve wording in natspec
build: include "SablierV2MerkleStreamerFactory" in "gas_reports" field
* build: bump core to main

* feat: add transferable parameter in targets create functions

feat: add transferable constructor paramater in merkle streamer
feat: add transferable parameter in batch contract
test: update tests accordingly
test: deploy temporarily core contracts in fork tests
chore: remove unused remapping

* build: bump core

* test: fix recipient seed bound to not overflow

* test: temporarily comment imported interfaces in Fork.t.sol
* docs: roll 1.1.0

* docs: polish changelog

---------

Co-authored-by: Paul Razvan Berg <[email protected]>
chore: disable Solhint rules
docs: include permit2 change in docs
* refactor: double hash the leaf in claim function

* test: add binarySearch function in MerkleBuilder

test: add sort function in Merkle Builder
test: sort tree leaves in MerkleStreamer tests

* test: update Precompiles bytecode

* test: use solady to sort merkle tree

* test: uppercase constants

chore: improve writing in comments
test: improve variable names
test: remove "_initMerkleTree"

* test: add comment explaining why the Merkle tree leaves are sorted

* test: reorder functions in Defaults

---------

Co-authored-by: Paul Razvan Berg <[email protected]>
andreivladbrg and others added 28 commits December 16, 2023 17:45
test: use deployPrecompiledPeriphery in Precompiles tests
test: use explicit contract types for targets
refactor: update scripts accordingly
test: update tests accordingly
ci: update ci workflows accordingly
fix: remove getMerkleStreamers function
test: update test accordingly
* feat: don't allow claims when protocol fee not zero

feat: allow clawbacks when protocol fee greater than zero and campaign not expired
test: update tests accordingly

* docs: specify the protocol fee requirement

docs: update natspec in ISablierV2MerkleStreamerFactory
style: remove unneeded new line

* refactor: change order in "claim"

chore: fix order and formatting in "claim" tests

* refactor: move protocol fee check at the bottom

* test: update Precompiles bytecode

---------

Co-authored-by: Paul Razvan Berg <[email protected]>
build: move "solhint" to "devDependencies"
test: update precompiles bytecode
feat: remove native asset interface
feat: remove proxy targets from scripts
test: remove proxy targets tests
build: remove proxy targets from shell scripts
build: uninstall permit2 and prb-proxy dep
ci: use sepolia for deployment workflows
feat: add BaseScript
chore: update remappings
chore: update imports
build: remove git modules
chore: update remappings and imports accordingly
ci: cache the node_modules in build job to re-use it other jobs
@andreivladbrg andreivladbrg merged commit 0ee8124 into main Dec 16, 2023
7 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.

2 participants