Skip to content
This repository was archived by the owner on Apr 3, 2026. It is now read-only.

Commit 6553b48

Browse files
committed
refactor: move .md files to the root
feat: add prepack and postpack for each package json file
1 parent 72b0c34 commit 6553b48

18 files changed

Lines changed: 45 additions & 1389 deletions
Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
<!-- If you modify this file, remember to update it in the other EVM repos, too! -->
2-
31
# Contributing
42

53
Feel free to dive in! [Open](../../issues/new) an issue, [start](../../discussions/new) a discussion or submit a PR. For
@@ -25,7 +23,7 @@ In addition, familiarity with [Solidity](https://soliditylang.org) is requisite.
2523
Clone this repository:
2624

2725
```shell
28-
git clone git@github.com:sablier-labs/flow.git sablier-flow && cd sablier-flow
26+
git clone git@github.com:sablier-labs/evm-monorepo.git && cd evm-monorepo
2927
```
3028

3129
To install the dependencies:
@@ -40,10 +38,18 @@ Then, execute the one-time setup script:
4038
just setup
4139
```
4240

43-
To build the contracts:
41+
To build all contracts:
42+
43+
```shell
44+
just build-all
45+
```
46+
47+
To build a specific protocol:
4448

4549
```shell
46-
just build
50+
just build airdrops
51+
just build flow
52+
just build lockup
4753
```
4854

4955
Switch to the `staging` branch, where all development work should be done:
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Parameters
99

1010
Licensor: Sablier Labs Ltd
1111

12-
Licensed Work: Sablier Flow The Licensed Work is (C) 2025 Sablier Labs Ltd
12+
Licensed Work: Sablier The Licensed Work is (C) 2025 Sablier Labs Ltd
1313

1414
Additional Use Grant: Any uses listed and defined at
1515
[`license-grants.sablier.eth`](https://app.ens.domains/license-grants.sablier.eth)
@@ -52,14 +52,14 @@ TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON AN "
5252
ALL WARRANTIES AND CONDITIONS, EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF MERCHANTABILITY, FITNESS
5353
FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND TITLE.
5454

55-
MariaDB hereby grants you permission to use this Licenses text to license your works, and to refer to it using the
55+
MariaDB hereby grants you permission to use this License's text to license your works, and to refer to it using the
5656
trademark "Business Source License", as long as you comply with the Covenants of Licensor below.
5757

5858
---
5959

6060
Covenants of Licensor
6161

62-
In consideration of the right to use this Licenses text and the "Business Source License" name and trademark, Licensor
62+
In consideration of the right to use this License's text and the "Business Source License" name and trademark, Licensor
6363
covenants to MariaDB, and to all other recipients of the licensed work to be provided by Licensor:
6464

6565
1. To specify as the Change License the GPL Version 3.0 or any later version, or a license that is compatible with GPL
File renamed without changes.
File renamed without changes.

flow/SECURITY.md renamed to SECURITY.md

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ design and testing of the protocol to guarantee its safety and reliability. Howe
55
continuous process. If you believe you have found a security vulnerability, please read the
66
[Bug Bounty Program](https://sablier.notion.site/bug-bounty) and share a report privately with us.
77

8-
## Protocol Assumptions
8+
## Common Protocol Assumptions
99

10-
Flow has been developed with a number of technical assumptions in mind. For a disclosure to qualify as a vulnerability,
11-
it must adhere to the following assumptions:
10+
All Sablier protocols have been developed with a number of common technical assumptions in mind. For a disclosure to
11+
qualify as a vulnerability, it must adhere to these assumptions:
1212

13-
- The total supply of any ERC-20 token remains below $(2^{128} - 1)$, i.e., `type(uint128).max`.
13+
- The total supply of any ERC-20 token remains below 2<sup>128</sup> - 1, i.e., `type(uint128).max`.
1414
- The `transfer` and `transferFrom` methods of any ERC-20 token strictly reduce the sender's balance by the transfer
1515
amount and increase the recipient's balance by the same amount. In other words, tokens that charge fees on transfers
1616
are not supported.
@@ -21,6 +21,17 @@ it must adhere to the following assumptions:
2121
[$POL token](https://polygonscan.com/address/0x0000000000000000000000000000000000001010) on Polygon is not supported.
2222
- The token contract has only one entry point.
2323
- The token contract does not allow callbacks (e.g., ERC-777 is not supported).
24+
25+
## Airdrops
26+
27+
Sablier Airdrops has been developed with the following additional assumptions:
28+
29+
- Campaign creator does not fund an Airdrop campaign contract before deploying it through the Sablier Merkle Factory.
30+
31+
## Flow
32+
33+
Flow has been developed with the following additional assumptions:
34+
2435
- A trust relationship is formed between the sender, recipient, and depositors participating in a stream. The recipient
2536
depends on the sender to fulfill their obligation to repay any debts incurred by the Flow stream. Likewise, depositors
2637
trust that the sender will not abuse the refund function to reclaim tokens.
@@ -31,3 +42,13 @@ it must adhere to the following assumptions:
3142
- There could be a minor discrepancy between the actual streamed amount and the expected amount. This is due to `rps`
3243
being an 18-decimal number, while users provide the amount per interval in the UI. If `rps` had infinite decimals,
3344
this discrepancy would not occur.
45+
46+
## Lockup
47+
48+
Sablier Lockup has been developed with the following additional assumptions:
49+
50+
- The number of segments/tranches should be such that creating a stream should not lead to an overflow of the block gas
51+
limit.
52+
- There is no need for exponents greater than ~18.44 in `LockupDynamic` segments.
53+
- Recipient contracts on the hook allowlist have gone through due diligence and are assumed to expose no risk to the
54+
Sablier protocol.

airdrops/CONTRIBUTING.md

Lines changed: 0 additions & 104 deletions
This file was deleted.

airdrops/LICENSE-BUSL.md

Lines changed: 0 additions & 82 deletions
This file was deleted.

airdrops/SECURITY.md

Lines changed: 0 additions & 24 deletions
This file was deleted.

airdrops/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
},
6767
"repository": "sablier-labs/airdrops",
6868
"scripts": {
69-
"prepack": "bun install --frozen-lockfile && bash ./scripts/bash/prepare-artifacts.sh"
69+
"prepack": "cp ../LICENSE.md ../LICENSE-BUSL.md ../LICENSE-GPL.md . && bun install --frozen-lockfile && bash ./scripts/bash/prepare-artifacts.sh",
70+
"postpack": "rm -f LICENSE.md LICENSE-BUSL.md LICENSE-GPL.md"
7071
}
7172
}

0 commit comments

Comments
 (0)