@wagmifan/solib

0.0.3 • Public • Published

@wagmifan/solib Contracts

@wagmifan/solib contract library. Part of the @wagmifan/solib Solidity monorepo.

Contracts

@wagmifan/solib core contracts

mocks — "*MOCK of Solidity contracts for test"
tests — ".t.sol scripts for Foundry test"
auth
├─ Owned"Simple single owner authorization"
├─ RolesAuthority"Role based Authority that supports up to 256 roles"
defi
├─ ERC4626"Minimal ERC4626 tokenized Vault implementation"
token
├─ WETH"Minimalist and modern Wrapped Ether implementation"
├─ ERC20"Modern and gas efficient ERC20 + EIP-2612 implementation"
├─ ERC721"Modern, minimalist, and gas efficient ERC721 implementation"
├─ ERC1155"Minimalist and gas efficient standard ERC1155 implementation"
utils
├─ SSTORE2"Library for cheaper reads and writes to persistent storage"
├─ CREATE3"Deploy to deterministic addresses without an initcode factor"
├─ LibString"Library for creating string representations of uint values"
├─ SafeCastLib"Safe unsigned integer casting lib that reverts on overflow"
├─ SignedWadMath"Signed integer 18 decimal fixed point arithmetic library"
├─ MerkleProofLib"Efficient merkle tree inclusion proof verification library"
├─ ReentrancyGuard"Gas optimized reentrancy protection for smart contracts"
├─ FixedPointMathLib"Arithmetic library with operations for fixed-point numbers"
├─ Bytes32AddressLib"Library for converting between addresses and bytes32 values"
├─ SafeTransferLib"Safe ERC20/ETH transfer lib that handles missing return values"

Installation

To install with Foundry:

forge install wagmifan/solib

To install with Hardhat or Truffle:

npm install @wagmifan/solib

Usage

Once installed, you can use the contracts in the library by importing them:

pragma solidity ^0.8.0;

import "@wagmifan/solib/contracts/token/ERC721/ERC721.sol";

contract MyNFTs is ERC721 {
    constructor() ERC721("MyNFTs", "MNFT") {
    }
}

Package Sidebar

Install

npm i @wagmifan/solib

Weekly Downloads

0

Version

0.0.3

License

GPL-3.0

Unpacked Size

47.5 kB

Total Files

6

Last publish

Collaborators

  • william.turner