Skip to content

sqwid-app/sqwid-sdk

Repository files navigation

Sqwid SDK

SDK to build dApps compatible with Sqwid NFT Marketplace.

Installation

yarn add @reef-chain/sqwid-sdk

Make sure the consuming project has @reef-chain/util-lib installed.

yarn add @reef-chain/util-lib

Functions

The library exports 4 main functions.

  1. connectToReef

Allows you to connect to Reef Chain using browser extension, returns observables for selectedReefSigner (connected reef account), signers (all accounts in connected extension) , provider (provider instance to connect to reef chain), loading (status of connecting to extension), reefState (function which comes with various methods for state management)

Importing connectToReef

// import like this
import { connectToReef } from '@reef-chain/sqwid-sdk';

You can initialise it like this, and use the state to store the value of signers,selectedReefSigner,provider,loading,reefState,error etc.

// put this in any function
const reef$ = connectToReef('sqwid-sdk-sample');

reef$.subscribe((state) => {
    if (state.loading) return;

    if (state.error) {
    console.error('REEF ERROR:', (state.error as any).message);
    } else {
    console.log('Reef State:', state);
    }
}
  1. connectToSqwid [IMPORTANT]

Allows you to connect to Sqwid Backend, this should be called everytime you switch the account or want to connect to Sqwid first, as it sets the headers in your browser, which are used to make all the sqwid calls. So this is neccessary

Importing connectToSqwid

import {connectToSqwid} from '@reef-chain/sqwid-sdk';

To connect to sqwid, the first requirement is connectToReef has been initialized already. As you need to pass the selectedSigner to connect to sqwid backend.

await connectToSqwid(selectedReefSigner); //here selectedReefSigner is reefExtensionConnectResponse.selectedReefSigner 

This function will sets the required cookies in Header to make calls to Sqwid.

  1. sqwidRead

This comes with various methods.

Screenshot 2025-07-23 at 12 50 14 PM

A. sqwidRead.STATS_ORDER : is passed to sqwidRead.fetchCollectionsByStats , this param sorts the fetched collections on the basis of stats passed, the stats are :

Screenshot 2025-07-23 at 12 53 11 PM

B. sqwidRead.fetchCollectionsByStats : fetches all collections on basis of stats.

example usage: `await sqwidRead.fetchCollectionsByStats(sqwidRead.STATS_ORDER.ITEMS)`

C. sqwidRead.fetchCollectionInfo: fetches info of a specific collection.

example usage: `await sqwidRead.fetchCollectionInfo("aLbM95hd62nkFe7Du07k")`

D. sqwidRead.getUserCollections : fetches collections of the user.

params: `address //native address of the user`

example usage: sqwidRead.getUserCollections(selectedAddress)

E. sqwidRead.fetchUserItems : returns user collectibles

  1. sqwidWrite

Allows to make WRITE/UPDATE calls Sqwid Backend & Sqwid contracts.

A. sqwidWrite.createCollectible : creates a collectible

example usage:

    await sqwidWrite.createCollectible(
        {
            name: '',
            description: '',
            collection: '',
            royalty: '',
            copies: 1,
            royaltyRecipient: '',
            properties: [],
            file: null,
            coverFile: null,
        },
        provider,
        selectedReefSigner.signer
    )

B. sqwidWrite.unlistPositionOnSale: De-list collectible from Sale

example usage: `sqwidWrite.unlistPositionOnSale(positionId,signer,provider)`

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published