Skip to content

BasicTier/erc721-validator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
Jul 19, 2018
Sep 20, 2021
Feb 27, 2022
Jul 19, 2018
Jul 19, 2018
Jul 19, 2018
Feb 27, 2022
Feb 27, 2022
Jul 19, 2018
Feb 27, 2022
Feb 27, 2022
Sep 20, 2021
Jul 19, 2018

Repository files navigation

npm version

Ethereum ERC-721 Contract Validator.

This is an open source package for NodeJS written with TypeScript. It allows for validating a contract against a series of tests to check its compliancy with the ERC-721 standard.

This package is actively maintained, well tested and already used in production environments. The source code is available on GitHub where you can also find our issue tracker.

How it works

For more information on how the validator works please check the article explaining the technique.

Installation

Run the command below to install the package.

npm install --save web3 @nibbstack/erc721-validator

This package uses promises thus you need to use Promise polyfill when promises are not supported.

Getting started

Initialize the Web3 provider.

import * as Web3 from 'web3';

const web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'));

Load and parse data of a particular block.

import { Validator } from 'erc721-validator';

const validator = new ERC721Validator(web3);
const contract  = '0x...';
const token     = '123';
const giver     = '0x...';

await validator.basic(test, contract);                  // => [{...},{...},{...},{...}]
await validator.token(test, contract, token);           // => [{...},{...},{...},{...}]
await validator.transfer(test, contract, token, giver); // => [{...},{...},{...},{...}]

API

ERC721Validator Class

ERC721Validator(web3)

Main class which allows for testing your contract validity.

Option Type Required Default Description
web3 Web3 Yes - Instance of a Web3 provider.

NOTICE: The ERC721Validator class extends is a RawModel class and thus exposes all related helper methods.

ERC721Validator.prototype.basic(contract): Promise(JSON)

Performes a series of basic contract tests.

Option Type Required Default Description
contract String Yes - Contract Address

ERC721Validator.prototype.token(contract, tokenId): Promise(JSON)

Performes a series of tests to validate contract token compliancy.

Option Type Required Default Description
contract String Yes - Contract Address
tokenId String Yes - Token ID

ERC721Validator.prototype.transfer(contract, tokenId, giver): Promise(JSON)

Performes a series of tests to validate contract token transfer compliancy.

Option Type Required Default Description
contract String Yes - Contract Address
tokenId String Yes - Token ID
giver String Yes - Address of giver

License (MIT)

Copyright (c) 2018 nibbstack [email protected].

About

ERC721 smart contract validator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 58.5%
  • TypeScript 41.5%