npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@turtlecasedao/erc721g

v0.0.2

Published

[![NPM][npm-shield]][npm-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url] <!-- OTHER BADGES --> <!-- [![Contributors][contributors-shield]][contributors-url] --> <!-- [![Forks][forks-shield]][forks-url] --> <!-- [!

Downloads

3

Readme

NPM Issues MIT License

📢 To depoly the contracts on mainnet, please contact our technical support that add your major contracts' addresses to the trusted list

The major contract of ERC721G is based on Azuki's ERC721A, thanks a lot.

Background

Since the circulation of NFT, there have been many incidents of theft. These incidents are mainly caused by private key theft and phishing attacks, and in the existing cases, it is difficult to recover once stolen. Most recovered cases also require a second offer from the stolen person, which is very costly. We propose a universal technical solution to be adapted to any ERC721 standard smart contract to help NFT holders guard their property security jointly.

About The Project

ERC721G

ERC721G is the world's first NFT anti-theft smart contract with three main features: "upgradeable," "scalable," and "secure." Dedicated to NFT asset protection, make Web3 a better place, and more people believe in it.

The first use case for ERC721G is the TurtlecaseGang NFT project, which proved the smart contract’s validity during several hacking events ( Premint websites hacking and Discord exploit incidents). For project details, visit https://opensea.io/collection/turtle-case-gang.

Lock/Unlock UI of ERC721G

Big Brother

An offically implementation of TokenPatronus, know more about our whitepaper.

To cooperate with the ERC721G anti-theft contract to play an effective role, we have launched a set of risk control system: BigBrother. The BigBrother risk control system is an NFT anti-theft protection solution with multi-dimensional analysis and optimistic consensus voting mechanism. It helps NFT holders protect property safety through pre-protection, mid-blocking, and post-compensation. The system has three main parts: operation and maintenance strategy management, intelligent risk analysis, and real-time monitoring of changes.

Workflow of Big Brother

Docs

Coming soon

Upgradeable Version

Coming soon

Installation


npm install --save-dev @turtlecasedao/erc721g

Usage

Once installed, a basic example on how to inherit the ERC721G in your contract would look like the following.

pragma solidity ^0.8.15;

import "erc721g/contracts/ERC721G.sol";

contract TurtleCaseGang is ERC721G {
    constructor() ERC721G("TurtleCase Gang", "TCG") {}

    function mint(uint256 quantity) external payable {
        // `_mint`'s second argument now takes in a `quantity`, not a `tokenId`.
        _mint(msg.sender, quantity);
    }
}

Binding

When you want to enable Guard mode, please refer to sample_scripts/bind.js to enable the Gaurd mode of ERC721G. You may need to KYC with official technical support for registry on bigbrother oracle.

Sample .env

PRIVATE_KEY=    # Your Private Key, NEVER show this to others
API=            # Get this from Infura or other provider
PUBLIC_KEY=     # Your Public Key
NETWORK=rinkeby # or mainnet
API_KEY=        # Get this from Infura or other provider
COINMARKET_KEY= # Get this from coinmarketcap if need
ERC721_ADDR=    # Your own ERC721G address
ORACLE_ADDR=0x025838C946Ed0F3182AF9914296fb9cecDBd2C94
REPORT_GAS=true
REPORT_COVERAGE=true

Roadmap

  • [ ] Release features of Reclaim/Judge to ERC721G/BigBrother
  • [ ] Make decentrialized risk engine(BigBrother) open source
  • [ ] Improve general repo, add more documentation and test cases

Contributing

Because of ERC721G/BigBrother is not only a smart contract, but a fully featured solution, contributions to the project will be worked on both ERC721G and BigBrother.

There is very welcome everybody to join this open source community. Any contributions you make are greatly appreciated.

Running tests locally

  1. npm install
  2. npm run test

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

Technical Support: https://github.com/turtlecasedao/OpenERC721G

Project Link: https://github.com/turtlecasedao/OpenERC721G