Barter
SDK for interacting with the Barter Smart Contracts.
Authors
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'
await window.ethereum.enable();
const provider = new ethers.providers.Web3Provider(window.ethereum, "any");
await provider.send("eth_requestAccounts", []);
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();
await sale.addToken({"quantity":"200", "tAddress": "0xFD244E7f5A39845087D21825f87BEEf9eC79208a", "tId":1, "tStandard":1});
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.