@animoca/ethereum-contracts-assets

3.0.1 • Public • Published

Solidity Assets

Coverage Status

This project serves as a base dependency for Solidity-based assets contract projects by providing related base contracts, constants, and interfaces. The standards supported are ERC20, ERC721 and ERC1155. Different standard extensions are also available in order to easily build robust implementations.

Overview

Installation

Install as a module dependency in your host NodeJS project:

npm install --save-dev @animoca/ethereum-contracts-assets

or

yarn add -D @animoca/ethereum-contracts-assets

The peerDependencies from package.json also need to be installed and to follow the same naming convention.

Usage

Solidity Contracts

This project contains base implementations and mocks for assets standards such as ERC20 (Fungible Token), ERC721 (Non-Fungible Token) and ERC1155 (Multi Token). Some utility contracts such as the necessary for Polygon bridging or vouchers redemption mechanics are also provided.

Import dependency contracts into your Solidity contracts and derive as needed:

import "@animoca/ethereum-contracts-assets/contracts/{{Contract Group}}/{{Contract}}.sol"

Please refer to inline documentation of each contract to get a glimpse of its purpose. The mocks are examples of how to implement fully-featured contracts.

Javascript Modules

A set of Javascript modules are also provided.

Require the NodeJS module dependency in your test and migration scripts as needed:

const { constants, interfaces, abis, behaviors } = require("@animoca/ethereum-contracts-assets");
  • constants: project-specific constants.
  • interfaces: ERC165 interfaces for supported standards.
  • abis: the ABIs for the supported interfaces.
  • behaviors: re-usable behavior functions which can be used to test contracts with a full coverage. Refer to mock test files for a guideline on how to test asset contracts using these behaviors.

Package Sidebar

Install

npm i @animoca/ethereum-contracts-assets

Weekly Downloads

40

Version

3.0.1

License

MIT

Unpacked Size

25.2 MB

Total Files

363

Last publish

Collaborators

  • gigic
  • lucast_ab
  • animocabrands
  • nataouze
  • efabian
  • jackyyab1
  • ikutoski
  • ironbuddha
  • jpazucena
  • andysob