Skip to content

Commit

Permalink
build: install evm-utils
Browse files Browse the repository at this point in the history
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
  • Loading branch information
andreivladbrg committed Feb 10, 2025
1 parent 7725fde commit 21aaee2
Show file tree
Hide file tree
Showing 50 changed files with 124 additions and 1,020 deletions.
Binary file modified bun.lockb
Binary file not shown.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
},
"devDependencies": {
"forge-std": "github:foundry-rs/forge-std#v1.8.2",
"evm-utils": "github:sablier-labs/evm-utils#d81edd1",
"husky": "^9.1.4",
"lint-staged": "^15.2.8",
"prettier": "^3.3.2",
Expand Down
1 change: 1 addition & 0 deletions remappings.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/
@prb/math/=node_modules/@prb/math/
@sablier/evm-utils/=node_modules/evm-utils/
forge-std/=node_modules/forge-std/
solady/=node_modules/solady/
solarray/=node_modules/solarray/
154 changes: 0 additions & 154 deletions script/Base.s.sol

This file was deleted.

4 changes: 2 additions & 2 deletions script/DeployBatchLockup.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ pragma solidity >=0.8.22 <0.9.0;

import { SablierBatchLockup } from "../src/SablierBatchLockup.sol";

import { BaseScript } from "./Base.s.sol";
import { MaxCountScript } from "./MaxCount.s.sol";

contract DeployBatchLockup is BaseScript {
contract DeployBatchLockup is MaxCountScript {
/// @dev Deploy via Forge.
function run() public broadcast returns (SablierBatchLockup batchLockup) {
batchLockup = new SablierBatchLockup();
Expand Down
4 changes: 2 additions & 2 deletions script/DeployDeterministicBatchLockup.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ pragma solidity >=0.8.22 <0.9.0;

import { SablierBatchLockup } from "../src/SablierBatchLockup.sol";

import { BaseScript } from "./Base.s.sol";
import { MaxCountScript } from "./MaxCount.s.sol";

contract DeployDeterministicBatchLockup is BaseScript {
contract DeployDeterministicBatchLockup is MaxCountScript {
/// @dev Deploy via Forge.
function run() public broadcast returns (SablierBatchLockup batchLockup) {
batchLockup = new SablierBatchLockup{ salt: SALT }();
Expand Down
4 changes: 2 additions & 2 deletions script/DeployDeterministicLockup.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ pragma solidity >=0.8.22 <0.9.0;

import { ILockupNFTDescriptor } from "../src/interfaces/ILockupNFTDescriptor.sol";
import { SablierLockup } from "../src/SablierLockup.sol";
import { BaseScript } from "./Base.s.sol";
import { MaxCountScript } from "./MaxCount.s.sol";

/// @notice Deploys {SablierLockup} at a deterministic address across chains.
/// @dev Reverts if the contract has already been deployed.
contract DeployDeterministicLockup is BaseScript {
contract DeployDeterministicLockup is MaxCountScript {
function run(
address initialAdmin,
ILockupNFTDescriptor nftDescriptor
Expand Down
4 changes: 2 additions & 2 deletions script/DeployDeterministicNFTDescriptor.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ pragma solidity >=0.8.22 <0.9.0;

import { LockupNFTDescriptor } from "../src/LockupNFTDescriptor.sol";

import { BaseScript } from "./Base.s.sol";
import { MaxCountScript } from "./MaxCount.s.sol";

/// @dev Deploys {LockupNFTDescriptor} at a deterministic address across chains.
/// @dev Reverts if the contract has already been deployed.
contract DeployDeterministicNFTDescriptor is BaseScript {
contract DeployDeterministicNFTDescriptor is MaxCountScript {
function run() public broadcast returns (LockupNFTDescriptor nftDescriptor) {
nftDescriptor = new LockupNFTDescriptor{ salt: SALT }();
}
Expand Down
4 changes: 2 additions & 2 deletions script/DeployDeterministicProtocol.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import { LockupNFTDescriptor } from "../src/LockupNFTDescriptor.sol";
import { SablierBatchLockup } from "../src/SablierBatchLockup.sol";
import { SablierLockup } from "../src/SablierLockup.sol";

import { BaseScript } from "./Base.s.sol";
import { MaxCountScript } from "./MaxCount.s.sol";

/// @notice Deploys the Lockup Protocol at deterministic addresses across chains.
contract DeployDeterministicProtocol is BaseScript {
contract DeployDeterministicProtocol is MaxCountScript {
/// @dev Deploys the protocol with the admin set in `adminMap`.
function run()
public
Expand Down
4 changes: 2 additions & 2 deletions script/DeployLockup.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ pragma solidity >=0.8.22 <0.9.0;
import { ILockupNFTDescriptor } from "../src/interfaces/ILockupNFTDescriptor.sol";
import { SablierLockup } from "../src/SablierLockup.sol";

import { BaseScript } from "./Base.s.sol";
import { MaxCountScript } from "./MaxCount.s.sol";

/// @notice Deploys {SablierLockup} contract.
contract DeployLockup is BaseScript {
contract DeployLockup is MaxCountScript {
function run(
address initialAdmin,
ILockupNFTDescriptor nftDescriptor
Expand Down
4 changes: 2 additions & 2 deletions script/DeployNFTDescriptor.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ pragma solidity >=0.8.22 <0.9.0;

import { LockupNFTDescriptor } from "../src/LockupNFTDescriptor.sol";

import { BaseScript } from "./Base.s.sol";
import { MaxCountScript } from "./MaxCount.s.sol";

/// @notice Deploys {LockupNFTDescriptor} contract.
contract DeployNFTDescriptor is BaseScript {
contract DeployNFTDescriptor is MaxCountScript {
function run() public broadcast returns (LockupNFTDescriptor nftDescriptor) {
nftDescriptor = new LockupNFTDescriptor();
}
Expand Down
4 changes: 2 additions & 2 deletions script/DeployProtocol.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import { LockupNFTDescriptor } from "../src/LockupNFTDescriptor.sol";
import { SablierBatchLockup } from "../src/SablierBatchLockup.sol";
import { SablierLockup } from "../src/SablierLockup.sol";

import { BaseScript } from "./Base.s.sol";
import { MaxCountScript } from "./MaxCount.s.sol";

/// @notice Deploys the Lockup Protocol.
contract DeployProtocol is BaseScript {
contract DeployProtocol is MaxCountScript {
/// @dev Deploys the protocol with the admin set in `adminMap`.
function run()
public
Expand Down
4 changes: 2 additions & 2 deletions script/GenerateSVG.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import { Strings } from "@openzeppelin/contracts/utils/Strings.sol";
import { NFTSVG } from "./../src/libraries/NFTSVG.sol";
import { SVGElements } from "./../src/libraries/SVGElements.sol";
import { LockupNFTDescriptor } from "./../src/LockupNFTDescriptor.sol";
import { BaseScript } from "././Base.s.sol";
import { MaxCountScript } from "./MaxCount.s.sol";

/// @notice Generates an NFT SVG using the user-provided parameters.
contract GenerateSVG is BaseScript, LockupNFTDescriptor {
contract GenerateSVG is MaxCountScript, LockupNFTDescriptor {
using Strings for address;
using Strings for string;

Expand Down
4 changes: 2 additions & 2 deletions script/Init.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ import { Solarray } from "solarray/src/Solarray.sol";
import { ISablierLockup } from "../src/interfaces/ISablierLockup.sol";
import { Lockup, LockupDynamic, LockupLinear } from "../src/types/DataTypes.sol";

import { BaseScript } from "./Base.s.sol";
import { MaxCountScript } from "./MaxCount.s.sol";

interface IERC20Mint {
function mint(address beneficiary, uint256 value) external;
}

/// @notice Initializes the protocol by creating some streams.
contract Init is BaseScript {
contract Init is MaxCountScript {
function run(ISablierLockup lockup, IERC20 token) public broadcast {
address sender = broadcaster;
address recipient = vm.addr(vm.deriveKey({ mnemonic: mnemonic, index: 1 }));
Expand Down
53 changes: 53 additions & 0 deletions script/MaxCount.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
// SPDX-License-Identifier: GPL-3.0-or-later
// solhint-disable no-console
pragma solidity >=0.8.22 <0.9.0;

import { BaseScript } from "@sablier/evm-utils/script/Base.s.sol";

abstract contract MaxCountScript is BaseScript {
/// @dev The default value for `maxCountMap`.
uint256 internal constant DEFAULT_MAX_COUNT = 500;

/// @dev Maximum count for segments and tranches mapped by the chain Id.
mapping(uint256 chainId => uint256 count) internal maxCountMap;

/// @dev Updates max values for segments and tranches. Values can be updated using the `update-counts.sh` script.
function populateMaxCountMap() internal {
// forgefmt: disable-start

// Arbitrum chain ID
maxCountMap[42161] = 1090;

// Avalanche chain ID.
maxCountMap[43114] = 490;

// Base chain ID.
maxCountMap[8453] = 2030;

// Blast chain ID.
maxCountMap[81457] = 1020;

// BNB chain ID.
maxCountMap[56] = 4460;

// Ethereum chain ID.
maxCountMap[1] = 1020;

// Gnosis chain ID.
maxCountMap[100] = 560;

// Optimism chain ID.
maxCountMap[10] = 1020;

// Polygon chain ID.
maxCountMap[137] = 1020;

// Scroll chain ID.
maxCountMap[534352] = 320;

// Sepolia chain ID.
maxCountMap[11155111] = 1020;

// forgefmt: disable-end
}
}
2 changes: 1 addition & 1 deletion shell/update-counts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
set -euo pipefail

# Path to the Base Script
BASE_SCRIPT="script/Base.s.sol"
BASE_SCRIPT="script/MaxCount.s.sol"

# Compile the contracts with the optimized profile
bun run build:optimized
Expand Down
Loading

0 comments on commit 21aaee2

Please sign in to comment.