nft-barter-sdk
v1.0.32
Published
Javascript SDK for abstracting complexities of interacting with NFT protocols.
Downloads
70
Maintainers
Readme
Barter
SDK for interacting with the Barter Smart Contracts.
Authors
- Ebube
- [KC] (https://www.github.com/PreciousKosisochukwuJenz)
Badges
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.