1.3.1 • Published 2 years ago

@nylonblocks/evmcontracts v1.3.1

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago
         ███╗░░██╗██╗░░░██╗██╗░░░░░░█████╗░███╗░░██╗
         ████╗░██║╚██╗░██╔╝██║░░░░░██╔══██╗████╗░██║
         ██╔██╗██║░╚████╔╝░██║░░░░░██║░░██║██╔██╗██║
         ██║╚████║░░╚██╔╝░░██║░░░░░██║░░██║██║╚████║
         ██║░╚███║░░░██║░░░███████╗╚█████╔╝██║░╚███║
         ╚═╝░░╚══╝░░░╚═╝░░░╚══════╝░╚════╝░╚═╝░░╚══╝
            www.nylonblocks.io | nylonblocks.eth

EVM Contracts

Deps:

  • ERC721A
  • @openzeppelin/contracts
  • @chainlink/contracts
  • @uniswap/v3-core
  • @uniswap/v3-periphery
  • merkletree js

Usage

Contract all derive from "@nylonblocks/EVMContracts/contracts/"

Modifications

We use ERC721A as an underlining contract base with slight modifications: We added these two global vars

    //  Hold the base URI
    string private BaseURI_;
    //  Hold the starting token ID
    uint256 private startingID_;

An modified this to be internal (from private)

   // Mapping owner address to address data
  mapping(address => AddressData) internal _addressData;

We have also added a couple of management functions to the contract:

function _startTokenId() internal view virtual returns (uint256) {
  return startingID_;
}

function _baseURI() internal view virtual returns (string memory) {
  return BaseURI_;
}

function _setBaseURI(string memory _BaseURI) internal {
  BaseURI_ = _BaseURI;
}

We have also implemented a set of functions that are modular to the contracts, some are specific to the project some are generic.