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.
For more information on how the validator works please check the article explaining the technique.
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.
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); // => [{...},{...},{...},{...}]
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 |
Copyright (c) 2018 nibbstack [email protected].