Socket
Book a DemoInstallSign in
Socket

@looksrare/contracts-libs

Package Overview
Dependencies
Maintainers
3
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@looksrare/contracts-libs

LooksRare contract helper libraries

3.5.1
latest
Source
npmnpm
Version published
Weekly downloads
27
17.39%
Maintainers
3
Weekly downloads
 
Created
Source

@looksrare/contracts-libs

Tests License: MIT

This repository contains a set of Solidity contracts that can be used across contracts for purposes such as verifying signatures, protecting contracts against reentrancy attacks, low-level call functions, and a library for managing the ownership of a contract.

It also contains generic contract interfaces (for EIP/ERC) that can be used.

Installation

# Yarn
yarn add @looksrare/contracts-libs

# NPM
npm install @looksrare/contracts-libs

NPM package

The NPM package contains the following:

  • Solidity smart contracts (".sol")
  • ABIs (".json")

Current contracts

NameDescriptionTypeLatest versionAudited?
OwnableTwoStepsContract for managing ownership of a smart contract. The transfer of ownership is done in a 2-step process.Contract2.5.0Yes
SignatureCheckerCalldataContract for verifying the validity of a (calldata) signature for EOA (64-byte, 65-byte signatures) and EIP-1271.Contract3.0.0Yes
SignatureCheckerMemoryContract for verifying the validity of a (memory) signature for EOA (64-byte, 65-byte signatures) and EIP-1271.Contract3.0.0Yes
ReentrancyGuardContract with a modifier to prevent reentrancy calls.Contract2.4.4Yes
PackedReentrancyGuardContract with a modifier to prevent reentrancy calls. Adapted from ReentrancyGuard.Contract2.5.1Yes
LowLevelETHTransferLow-level call function to transfer ETHContract2.4.4Yes
LowLevelETHReturnETHIfAnyLow-level call function to return all ETH leftContract2.4.4Yes
LowLevelETHReturnETHIfAnyExceptOneWeiLow-level call function to return all ETH left except one weiContract2.4.4Yes
LowLevelWETHLow-level call functions to transfer ETH with an option to wrap to WETH if the original ETH transfer fails within a gas limitContract2.4.4Yes
LowLevelERC20ApproveLow-level call functions for ERC20 approve functionsContract2.4.4Yes
LowLevelERC20TransferLow-level call functions for ERC20 transfer functionsContract2.4.4Yes
LowLevelERC721TransferLow-level call functions for ERC721 functionsContract2.4.4Yes
LowLevelERC1155TransferLow-level call functions for ERC1155 functionsContract2.4.4Yes
ProtocolFeeContract for defining protocol fee recipient and basis pointsContract3.2.0No

About this repo

Structure

It is a hybrid Hardhat repo that also requires Foundry to run Solidity tests powered by the ds-test library.

To install Foundry, please follow the instructions here.

Run tests

  • Solidity tests are included in the foundry folder in the test folder.

Example of Foundry/Forge commands

forge build
forge test
forge test -vv
forge tree

Example of other commands

npx eslint '**/*.{js,ts}'
npx eslint '**/*.{js,ts}' --fix
npx prettier '**/*.{json,sol,md}' --check
npx prettier '**/*.{json,sol,md}' --write
npx solhint 'contracts/**/*.sol'
npx solhint 'contracts/**/*.sol' --fix

Coverage

It is required to install lcov.

brew install lcov

To run the coverage report, the below command can be executed.

forge coverage --report lcov
LCOV_EXCLUDE=("test/*" "contracts/interfaces/*" "contracts/errors/*.sol")
echo $LCOV_EXCLUDE | xargs lcov --output-file lcov-filtered.info --remove lcov.info
genhtml lcov-filtered.info --output-directory out
open out/index.html

Keywords

looksrare

FAQs

Package last updated on 12 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.