open-index/open-npm huggingface dataset:
npm package: @murphy-labs/strateg-protocol-access-manager
Description: @notice Manages access and roles for the Strateg platform. @dev Extends OpenZeppelin's AccessManager to include specific roles and functionalities for the Strateg platform.
Latest version: 0.0.29


## StrategAccessManager
@notice Manages access and roles for the Strateg platform.
@dev Extends OpenZeppelin's AccessManager to include specific roles and functionalities for the Strateg platform.

Roles:
- UPGRADER_ROLE: Role for upgrading contracts.
- SOPT_TAKER_ROLE: Role for interacting with SOPT.
- OPERATOR_ROLE: Role for operators managing the platform.
- OPERATION_GUARDIAN_ROLE: Role for overseeing operations.
- ERC2771_RELAYER_ROLE: Role for relaying calls using ERC2771.
- CROSSCHAIN_RELAYER_ROLE: Role for relaying calls across chains.
- FEE_MANAGER_ROLE: Role for managing fees.




## Strateg Address Provider

The Strateg Address Provider is a Solidity smart contract that extends ERC20 with additional features for payment allowances and execution. It allows users to set an operator proxy, approve allowances for specific infrastructure operations, and execute payments with a configurable payment fee.

The Strateg Address Provider includes the following key addresses:
- Treasury: Address of the treasury.
- Fee Collector: Address of the fee collector.
- SOPT: Address of the SOPT.
- Vault Factory: Address of the vault factory.
- Block Registry: Address of the block registry.
- Position Manager Factory: Address of the position manager factory.
- User Interactions: Address of the user interactions.
- Operator Proxy: Address of the operator proxy.
- Operator Data Aggregator: Address of the operator data aggregator.
- Portal: Address of the portal.
- Permit2: Address of the Permit2.

The Strateg Address Provider contract also provides functions to set the treasury address and fee collector address.
npm package: @murphy-labs/strateg-protocol-balancer-weigthed-math
Description: This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, and a script that deploys that contract.
Latest version: 0.0.5

# Sample Hardhat Project

This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, and a script that deploys that contract.

Try running some of the following tasks:

```shell
npx hardhat help
npx hardhat test
GAS_REPORT=true npx hardhat test
npx hardhat node
npx hardhat run scripts/deploy.ts
```
npm package: @murphy-labs/strateg-protocol-block-curve
Description: This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, and a script that deploys that contract.
Latest version: 0.0.14

# Sample Hardhat Project

This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, and a script that deploys that contract.

Try running some of the following tasks:

```shell
npx hardhat help
npx hardhat test
GAS_REPORT=true npx hardhat test
npx hardhat node
npx hardhat run scripts/deploy.ts
```
npm package: @murphy-labs/strateg-protocol-borrow
Description: This repository contains the Strateg Position managers factory. A position manager is a contract handling isolated debt position for a Strateg Vault
Latest version: 0.0.58

# Strateg Borrow module Contracts

This repository contains the Strateg Position managers factory.
A position manager is a contract handling isolated debt position for a Strateg Vault 

There is only Aave v3 position manager actually with 2 debt management mode: borrow and leverage (debt loop)

## Development

To contribute or make changes to these contracts, follow these steps:

1. Clone the repository:

   ```
   git clone https://gitlab.com/murphy-labs/strateg-protocol/contracts/borrow.git
   ```

2. Install the necessary dependencies:

   ```
   npm install --force
   ```

   The --force is mandatory because there is a package version conflict with hardhat-deploy but everything is working fine.
   There is no solution until we migrate on ethers v6

3. Make the desired changes to the contract files.

4. Compile the contracts:

   ```
   npx hardhat compile
   ```

5. Run the tests to ensure everything is working as expected:

   ```
   npx hardhat test
   ```

6. Submit a pull request with your changes for review.

## License

This project is licensed under the [BUSL-1.1](https://spdx.org/licenses/BUSL-1.1.html) license. Please refer to the individual contract files for their specific license information.

## Disclaimer

These contracts are provided as-is without any warranty or guarantee of any kind. Use them at your own risk. Always review and audit the code before deploying it in a production environment.
npm package: @murphy-labs/strateg-protocol-fees
Description: This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, and a script that deploys that contract.
Latest version: 0.1.12

# Sample Hardhat Project

This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, and a script that deploys that contract.

Try running some of the following tasks:

```shell
npx hardhat help
npx hardhat test
GAS_REPORT=true npx hardhat test
npx hardhat node
npx hardhat run scripts/deploy.ts
```
npm package: @murphy-labs/strateg-protocol-libraries
Description: This repository contain libraries used on many times on the protocol:
Latest version: 0.1.17

# Strateg protocol librairies

This repository contain libraries used on many times on the protocol:

- `contracts/Datatypes.sol` Common typing definitions
- `contracts/LibBlock.sol` Library handling the storage loaders for blocks and their execution 
- `contracts/LibOracleState.sol` Library handling the OracleState structure manipulations 
- `contracts/LibPermit.sol` Library handling usage of permit 
- `contracts/VaultConfiguration.sol` Library handling the vault configuration bitmap storage

You can install the library in your project with:

```shell
npm install @murphy-labs/strateg-protocol-libraries
```
npm package: @murphy-labs/strateg-protocol-portal
Description: This repository contains a collection of contracts with diamond implementation to integrate Dex aggregators to our stack. This Diamond implement an oracle aggregator system for Strateg Core protocol needs
Latest version: 0.2.3

# Strateg Portal Contracts

This repository contains a collection of contracts with diamond implementation to integrate Dex aggregators to our stack.
This Diamond implement an oracle aggregator system for Strateg Core protocol needs


## Development

To contribute or make changes to these contracts, follow these steps:

1. Clone the repository:

   ```
   git clone https://gitlab.com/murphy-labs/strateg-protocol/contracts/portal.git
   ```

2. Install the necessary dependencies:

   ```
   npm install --force
   ```

   The --force is mandatory because there is a package version conflict with hardhat-deploy but everything is working fine.
   There is no solution until we migrate on ethers v6

3. Make the desired changes to the contract files.

4. Compile the contracts:

   ```
   npx hardhat compile
   ```

5. Run the tests to ensure everything is working as expected:

   ```
   npx hardhat test
   ```

6. Submit a pull request with your changes for review.

## License

This project is licensed under the [BUSL-1.1](https://spdx.org/licenses/BUSL-1.1.html) license. Please refer to the individual contract files for their specific license information.

## Disclaimer

These contracts are provided as-is without any warranty or guarantee of any kind. Use them at your own risk. Always review and audit the code before deploying it in a production environment.