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

New Contracts and Refactors #9

Merged
merged 4 commits into from May 20, 2023
Merged

Conversation

binodnpm
Copy link
Contributor

@binodnpm binodnpm commented May 19, 2023

This pull request introduces new contracts such as NeptuneMutualLegends and Merkle Proof Minter, refactors dependencies in various contracts to improve usability, and includes minor updates like solidity compiler version upgrade, unit test revamps, and updates to deployments.json, extensions.json, and settings.json files.

New Contracts

  • Added NFT contract: NeptuneMutualLegends
  • Added Policy Proof Minter contract to enable NPM policyholders to mint soulbound NFTs for free
  • Added Merkle Proof Minter contract that enables NPM policyholders and LPs to mint non-soulbound NFTs based on the liquidity supplied and policies purchased
  • Added a placeholder token contract named Token

Refactors:

  • Removed dependency to the protocol store on VoteEscrowToken so that it can be independently used outside of Neptune Mutual Protocol
  • Switched from the POD dependency IVault to address on GuageControllerRegistry to permit the use of any ERC-20 token as a staking token
  • Rectified a minor miscalculation in _calculateBoost function
  • Dropped protocol dependency on WhitelistedTransfer contract
  • Dropped OwnableUpgradeable dependency on the WithPausability contract
  • Refactored GaugeControllerRegistry to use AccessControlUpgradeable instead of OwnableUpgradeable
  • On NeptuneLegends and MerkleProofMinter contract, set the default roles during initialization

Other Minor Updates

  • Updated solidity complier version to 0.8.12 or above
  • Added deployment scripts for Vote Escrow Token, Gauge Controller Registry, and Liquidity Gauge Pools.
  • Refactored unit tests
  • Updated deployments.json
  • Updated extensions.json and `settings.json
  • Updated ABIs

This pull request introduces new contracts such as `NeptuneMutualLegends` and `Merkle Proof Minter`, refactors dependencies in various contracts to improve usability, and includes minor updates like solidity compiler version upgrade, unit test revamps, and updates to deployments.json, extensions.json, and settings.json files.

## New Contracts

- Added NFT contract: `NeptuneMutualLegends`
- Added `Policy Proof Minter` contract to enable NPM policyholders to mint soulbound NFTs for free
- Added `Merkle Proof Minter` contract that enables NPM policyholders and LPs to mint non-soulbound NFTs based on the liquidity supplied and policies purchased

## Refactors:

- Removed dependency to the protocol store on `VoteEscrowToken` so that it can be independently used outside of Neptune Mutual Protocol
- Switched from the POD dependency `IVault` to `address` on `GuageControllerRegistry` to permit the use of any ERC-20 token as a staking token
- Rectified a minor miscalculation in `_calculateBoost` function
- Dropped protocol dependency on `WhitelistedTransfer` contract
- Dropped `OwnableUpgradeable` dependency on the `WithPausability` contract

## Other Minor Updates

- Updated solidity complier version to `0.8.12` or above
- Added deployment scripts for `Vote Escrow Token`, `Gauge Controller Registry`, and `Liquidity Gauge Pools`.
- Refactored unit tests
- Updated `deployments.json`
- Updated `extensions.json` and `settings.json`
…le` instead of `OwnableUpgradeable`

- On `NeptuneLegends` and `MerkleProofMinter` contract, set the default roles during initialization
- Added a placeholder token `Token` on the `utils` directory
@rudolfnep rudolfnep merged commit 6b25911 into main May 20, 2023
@rudolfnep rudolfnep deleted the feature/nft-minter-and-refactors branch May 20, 2023 19:01
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.

None yet

2 participants