nft-barter-sdk

Javascript SDK for abstracting complexities of interacting with NFT protocols.

Usage no npm install needed!

<script type="module">
  import nftBarterSdk from 'https://cdn.skypack.dev/nft-barter-sdk';
</script>

README

Barter

SDK for interacting with the Barter Smart Contracts.

Authors

Badges

MIT License GPLv3 License AGPL License

Features

  • Create Sale
  • Create Offer
  • Sign Transfer Transactions
  • Execute Exchange

Installation

Install nft-barter-sdk with npm

  npm install nft-barter-sdk
  cd my-project

Usage/Examples

Init

After installing the SDK, import the Barter class into your current script.

import Barter from 'nft-barter-sdk'

// Initialize web3 using ethers.js
await window.ethereum.enable();
const provider = new ethers.providers.Web3Provider(window.ethereum, "any");

// Prompt the user to select an account
await provider.send("eth_requestAccounts", []);

// Initialize Barter
const barter = new Barter(provider);

Sales

Creating a Sale

You can offer up a token or collection of tokes for sale (exchange) by using the sale() method.

const sale = barter.sale();

// Add a token to offer up for exchange
await sale.addToken({"quantity":"200", "tAddress": "0xFD244E7f5A39845087D21825f87BEEf9eC79208a", "tId":1, "tStandard":1});

// Make the sale visible to other users
await sale.publish();

Adding Multiple Tokens

You can add multiple tokens by repeatedly calling the addToken function:

const sale =  barter.sale();
await sale.addToken({"quantity":"100", "tAddress": "0xFD244E7f5A39845087D21825f87BEEf9eC79208a", "tId":1, "tStandard":"ERC20"});
await sale.addToken({"quantity":"1", "tAddress": "0x6E8095814Dbfb8765f603F82eaa4d8aB63234D2C", "tId":1, "tStandard":"ERC721"});
await sale.addToken({"quantity":"2", "tAddress": "0x6E8095814Dbfb8765f603F82eaa4d8aB63234D2C", "tId":1, "tStandard":"ERC1155"});

Loading an Existing Sale

To load an existing sale, call:

const sale =  barter.sale(saleId);

Where no sale ID is passed in, barter creates a new instance of the Sale class.

Approving an offer

When a preferred offer has been identified by the seller, he can approve the offer by calling:

sale.approveOffer(offerId, true);

The first parameter is the Id of the offer to approve while the second parameter is an optional value indicating whether or not the transaction should be executed on the blockcahain. If set to true, the user will be prompted to execute the transation after signing, whereas, setting this value to false only returns the signature after the user has signed the transaction.