npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@fahust/test-inverse-react-lib

v0.0.11195

Published

A complete SDK for inverse usage

Downloads

21

Readme

yalc publish yalc update yarn publish --access=public yarn rollup

Status GitHub Issues GitHub Pull Requests License


🧐 About

La SDK inverse, permet de créer des jetons ERC721 , ERC721A, ERC1155, et de les mettre en vente dans des enchères ou des ventes directes. Chaque jeton reste paramétrable et peut être vendu sur les plateformes les plus connues telles que opensea, rarible...

Toutes les fonctions faisant appel à une variable API_KEY devront être impérativement appelé depuis votre back (serveur, node js)

🏁 Getting Started

Il vous faudra obligatoirement vous inscrire sur nos serveurs, vous pourrez le faire depuis notre plateforme ou bien directement sur la SDK

Prerequisites

Vous aurez besoin de node et npm.

Installing

L'installation se fait de façon très simple, ouvrez un terminal dans la racine de votre projet puis copier la ligne suivante :

npm i @fahust/test-inverse-react-lib

🎈 Usage

Pour utiliser notre package, vous devrez d'abord importer la librairie dans vos composant react :

import { InVerseSdk } from '@fahust/test-inverse-react-lib';

Puis instancier le SDK de la manière suivante :

sdk = new InVerseSdk()

Connection Web3 Brand

Connection vers le wallet de votre choix. À la connections si votre wallet n'est pas enregistrer sur nos serveurs, elle sera donc immédiatement enregistrée.

sdk.connectWeb3Brand(NETWORK_ID,API_KEY_INVERSE)

À partir de ce moment, vous pourrez renseigner des paramètres utilisateurs en envoyant le tableau suivant.

//ACCOUNT_OBJECT
{
  username:"",
  password:"",
  ...
}

Ses informations seront gardées sur nos serveurs.

sdk.updateMyAccount(ACCOUNT_OBJECT);

Connection Web3 user

Pour faire des enchères ou des achats, vos utilisateur auront besoin de ce connecter

sdk.connectWeb3User(NETWORK_ID)

Création d'un smart contract de market place

Création d'un smart contract maketplace.sol Ce contrat nécessitera de n'être créé qu'une seule fois, mais est obligatoire pour la suite. L'adresse du contrat ainsi créé sera définitivement reliée à votre compte sur nos serveurs.

sdk.createMarketPlaceContract(API_KEY_INVERSE)

Création d'un smart contract de token

Création d'un smart contract token, parmis les choix suivant ERC721 , ERC721A, ERC1155. Ces contrats de tokens pourront être créé autant de fois que vous le voudrez pour ajouter des collections. Pour vous permettre des frais de gaz minimum, nous enregistrons les adresses de ses contrats directement sur nos serveurs. Attention, le nom et le symbole sont immuables, réfléchissez bien avant de créer votre contrat. À la création du contrat, des metadatas du token sont enregistré sur ipfs ainsi que sur nos serveurs ainsi que les signatures ECDSA.

sdk.createTokenContract(API_KEY_INVERSE,CONTRACT_NAME:string,CONTRACT_SYMBOL:string,BASE_URI:string:optional)

Connection Smart Contract

Connections vers le smart contract créé au préalable par nos utilisateurs. Envoi une requête vers nos serveurs pour récupérer l'adresse du smart contract lié a votre adresse de wallet.

sdk.getMyAddressMarketPlace(API_KEY_INVERSE).then((res)=>{return ArrayOfAddress = res}).catch((err)=>{return err})

Pour récupérer vos adresses de smart contract de token créer vous devrez appeler cette fonction vers le serveur qui vous renverra un tableau d'adresse :

sdk.getMyAddressTokens(API_KEY_INVERSE).then((res)=>{return ArrayOfAddress = res}).catch((err)=>{return err})

Pour faire des modifications sur votre marketplace, rajouter des auctions, les paramétrer puis les liés a vos collections de token, ainsi que permettre vos utilisateurs a effectuer des achats et enchère vous devrez rajouter l'adresse du market place dans la SDK :

sdk.connectAddressMarketPlace(ADDRESS_MARKET_PLACE)

🔧 Method

Method Dynamic

Vous pouvez faire appel à toutes les fonctions du smart contract a l'aide de notre composant Method

Connection au smart contract nécessaire

sdk.method(NAME_METHOD,ADDRESS_METHOD,SEND_VALUE,ARGUMENT)

Argument requis :

  • NAME_METHOD => Le nom de la méthode exact du smart contract que vous désirez appeler
  • ADDRESS_METHOD => L'address exact du smart contract que vous désirez appeler Argument optionel :
  • SEND_VALUE => La valeur en eth que vous désirez envoyer vers le smart contract
  • ARGUMENT => Les arguments nécessaires à la fonction, sous forme de tableau, un élément pour chaque valeur.

Exemple :

sdk.method(mint,"0x0000000000000","1000000",[10,"10","test"])

Method static

Ou bien, vous pouvez utiliser les méthodes suivantes de façon statique :

Method TOKEN

//Permet un mint de plusieurs token (max 100 pour erc721 et erc1155, max 1000 pour le erc721A)
sdk.mint(NUMBER_OF_MINT,ADDRESS_CONTRACT_TOKEN)//only owner
sdk.getAllNft(ADDRESS_CONTRACT_TOKEN).then((res)=>{return ArrayOfNFTs = res}).catch((err)=>{return err})
//Utilise ECDSA pour enregistrer les adresses whitelisté vers le serveur
sdk.addWhitelist(ADDRESS_WHITELISTED,ADDRESS_CONTRACT_TOKEN)
sdk.removeWhitelist(ADDRESS_WHITELISTED,ADDRESS_CONTRACT_TOKEN)
sdk.isWhitelisted(ADDRESS_WHITELISTED,ADDRESS_CONTRACT_TOKEN).then((res)=>{return res}).catch((err)=>{return err})
sdk.getWhitelist(ADDRESS_CONTRACT_TOKEN).then((res)=>{return ArrayOfWhitelisted = res}).catch((err)=>{return err})

Method MARKETPLACE

Le marketplace contient des listes, qui peuvent être des ventes d'objet direct, ou bien des enchères. Elle peuvent toutes deux contenir un tableau des id token mis en vente ainsi qu'un tableau de prix.

A la création d'une liste, les tokens listé seront transféré vers votre contract de marketplace.sol

Pour une vente direct les token contenu dans cet liste pourront être acheter un par un. Pour une enchère les tokens contenu seront tous vendu a la fin de l'enchère.

La création ou la mise a jour de vente nécessitera un objet de ce type :

//OBJECT_LIST
{
  startTime:"", //timestamp in seconds
  timeAuction:"", //timestamp in seconds
  tokenIds: [], //array of id token
  tokenPrice: [], //array of price for anyone
  basePrice: "", //Price of object
  addressOfContratToken: "", //address of contract token
  minimumPrice: "", //price minimum of bid
  royalties: [], //address of royalties
  typeOfList : 0 ,//direct sell or auction (0 or 1)
}
sdk.createList(OBJECT_LIST)//onlyOwner // transfert des tokens
sdk.updateList(OBJECT_LIST)//onlyOwner
//Démarrer une vente aux enchères
sdk.getList(list_id).then((res)=>{return ListObject = res}).catch((err)=>{return err})
sdk.getLists().then((res)=>{return ListObject = res}).catch((err)=>{return err})
sdk.getHistoricList(list_id)//Récupère une liste fermé depuis nos serveurs
sdk.getHistoricLists()//Récupère les liste fermé depuis nos serveurs

//Mettre fin à une vente aux enchères enverra les NFTs aux gagnants et enverra le dépôt du gagnant aux royalties.
//Pour une optimisation maximale de frais de gaz, nous transférons les data de la list fermé vers nos serveurs.
sdk.closeList(list_id)//onlyOwner or winner ?
//Une vente aux enchères ne peut être annulé qu'avant le démarrage de cette dernière.
sdk.cancelList(list_id)//onlyOwner

Vos utilisateurs pourront ensuite intéragir avec vos listes de la façon suivante :

AUCTION

//BIDDING_VALUE Doit être plus élevé que l'offre d'enchère actuel
///@dev verify list, started, not finish, bid > msg.value, payable precedent bidder
sdk.bidding(WEI_BIDDING_VALUE)

DIRECT SELL

//Permet aux clients d'acheter et de recevoir son NFT en échange d'un achat. 
///@dev Verifiy list, token is listed, no transfered, send money, transfer to buyer, unset of list token and price
sdk.buy(WEI_VALUE,ID_TOKEN)//only sender

🔧 COMPONENTS

Nous méttons a votre disposition des composants natifs

-Composant d'affichage d'un token (contient le token id, l'image, l'address owner, le nom et le symbol de la collection)

⛏️ Built Using

✍️ Authors

🎉 Acknowledgements

  • Hat tip to anyone whose code was used
  • Inspiration
  • References