@nftvillage/marketplace-sdk
Marketplace Hooks and functions to interect with Nft Village.
Dependencies
"@react-dapp/utils": "^0.0.20",
"bignumber.js": "^9.0.1",
"ethereum-multicall": "^2.9.0",
"ethers": "^5.5.1",
"react": "^17.0.2",
Collection Hooks
useCreateCollection
- createCollection
this hook takes collection data,interface of collection data
- Useage
this hook is used to create the user collection
CollectionData {
name?: string
description?: string
symbol?: string
shortUrl?: string
coverImage?:string
logoImage?:string
royalty?: number
isVerified?: boolean
}
- Return values
this hook returns Api response interface
where T is the collection interface
ApiResponse<T> {
status: boolean
message: string
data?: T
}
Collection {
userAddress: string
isVerified?: boolean
address: string
name?: string
description?: string
symbol?: string
shortUrl?: string
coverImage?:string
logoImage?:string
royalty?: number
collectionStandard:AssetType
}
useCollectionByShortURL
- fetchCollection
this hook takes shortUrl as string.
shortUrl: string
- Return values
this hook returns collection interface and loading State
Collection {
userAddress: string
isVerified?: boolean
address: string
name?: string
description?: string
symbol?: string
shortUrl?: string
coverImage?:string
logoImage?:string
royalty?: number
collectionStandard:AssetType
},
loading:boolean
useCollectionByCollectionAddress
- fetchCollectionAddress
this hook takes collection address as string.
address: string
- Return values
this hook returns collection interface and loading State
Collection {
userAddress: string
isVerified?: boolean
address: string
name?: string
description?: string
symbol?: string
shortUrl?: string
coverImage?:string
logoImage?:string
royalty?: number
collectionStandard:AssetType
},
loading:boolean
useAllCollectionsByUserAddress
- fetchAllCollectionOfUser
this hook takes User address as string.
address: string
- Return values
this hook returns Array of collection interface and loading State
[
Collection{
userAddress: string
isVerified?: boolean
address: string
name?: string
description?: string
symbol?: string
shortUrl?: string
coverImage?:string
logoImage?:string
royalty?: number
collectionStandard:AssetType
},
],
loading:boolean
useCheckShortUrlAvailability
- _checkShortUrlAvailability
this hook takes User shortUrl as string.
shortUrl: string
- Return values
this hook returns Boolean isURLAvailable and loading State
Token Hooks
useMintERC721
this hook takes Token interface.
Token {
address: string
metadata: MetaData
fees: Fee[] | []
minter: string
owner: string
}
type Fee = {
recipient: string
value: number
}
- Return values
this hook returns Api response and tokenId as number
where T is the token interface
ApiResponse<T> {
status: boolean
message: string
data?: T
}
Token {
address: string
tokenId?: number
metadata: MetaData
fees: Fee[] | []
minter: string
owner: string
}
tokenId:number
Order Hooks
useSellOrder
this takes asset(it's a collection address) as string
- create
this hook takes Order interface
Order {
order: OrderData
metadata: {
attributes: Attributes[] | []
image?: string
background_color?: string
external_url?: string
animation_url?: string
youtube_url?: string
category?: string
name?: string
description?: string
address: string
tokenId: number
collectionName: string
makerAddress: string
price: number
}
}
OrderData {
assetId:number,
assetType:AssetType,
assetAmount?:number,
maker:string,
paymentToken?:string,
expirationTime?:number,
basePrice:number,
}
Attributes = {
trait_type: string
value: string | number
display_type?: string
}
enum AssetType {
ERC721,
ERC1155,
}
enum SaleKind {
BUYNOW = 0,
ENGLISHAUCTION = 1,
DUTCHAUCTION = 2,
}
- Return values
this hook returns Api response interface
where T is the Order interface
ApiResponse<T> {
status: boolean
message: string
data?: T
}
Order {
order: OrderData
orderHash?: string
referrer?: string
status?: StatusType
expirationTime?: number
signature?: string
metadata: {
attributes: Attributes[] | []
image?: string
background_color?: string
external_url?: string
animation_url?: string
youtube_url?: string
category?: string
name?: string
description?: string
address: string
tokenId: number
collectionName: string
makerAddress: string
price: number
}
bids?: Bids[] | []
}
useCancelOrder
- cancel
this hook takes Order interface
Order {
order: OrderData
orderHash?: string
referrer?: string
status?: StatusType
expirationTime?: number
signature?: string
metadata: {
attributes: Attributes[] | []
image?: string
background_color?: string
external_url?: string
animation_url?: string
youtube_url?: string
category?: string
name?: string
description?: string
address: string
tokenId: number
collectionName: string
makerAddress: string
price: number
}
bids?: Bids[] | []
}
- Return values
this hook returns Delete interface
Delete{
message:string,
status:boolean
}
useOrderBid
- createBidOrder
this hook takes Order interface
Order {
order: OrderData
metadata: {
attributes: Attributes[] | []
image?: string
background_color?: string
external_url?: string
animation_url?: string
youtube_url?: string
category?: string
name?: string
description?: string
address: string
tokenId: number
collectionName: string
makerAddress: string
price: number
}
}
OrderData {
asset,
assetId,
maker,
paymentToken,
side,
taker,
expirationTime,
basePrice
}
Attributes = {
trait_type: string
value: string | number
display_type?: string
}
OrderSide {
BUY,
SELL,
}
SaleKind {
BUYNOW = 0,
ENGLISHAUCTION = 1,
DUTCHAUCTION = 2,
}
- Return values
this hook returns Api response interface
where T is the Order interface
ApiResponse<T> {
status: boolean
message: string
data?: T
}
Order {
order: OrderData
orderHash?: string
referrer?: string
status?: StatusType
expirationTime?: number
signature?: string
metadata: {
attributes: Attributes[] | []
image?: string
background_color?: string
external_url?: string
animation_url?: string
youtube_url?: string
category?: string
name?: string
description?: string
address: string
tokenId: number
collectionName: string
makerAddress: string
price: number
}
bids?: Bids[] | []
}
useBuyFixPriceOrder
-
buyFixOrder
this hook takes asset: string, assetId: number, maker: string
where maker is the buyer of the order
-
approve
no params
-
Return values
this hook returns txResponse interface
{
tx: any;
receipt: any;
error: any;
status: boolean;
}
isApproved:boolean
useBuyOrder
this hook takes two Orders interface buyOrder , sellOrder
Order {
order: OrderData
orderHash?: string
referrer?: string
status?: StatusType
expirationTime?: number
signature?: string
metadata: {
attributes: Attributes[] | []
image?: string
background_color?: string
external_url?: string
animation_url?: string
youtube_url?: string
category?: string
name?: string
description?: string
address: string
tokenId: number
collectionName: string
makerAddress: string
price: number
}
bids?: Bids[] | []
}
- Return values
this hook returns txResponse interface
{
tx: any;
receipt: any;
error: any;
status: boolean;
}
useOrder
- singleOrder
this hook takes orderAsset
OrderAsset {
asset: string
assetId: number
}
- Return values
this hook returns Order and loading as boolean
Order {
order: OrderData
orderHash?: string
referrer?: string
status?: StatusType
expirationTime?: number
signature?: string
metadata: {
attributes: Attributes[] | []
image?: string
background_color?: string
external_url?: string
animation_url?: string
youtube_url?: string
category?: string
name?: string
description?: string
address: string
tokenId: number
collectionName: string
makerAddress: string
price: number
}
bids?: Bids[] | []
}
loading:boolean
useOrders
- fetchOrders
this hook takes
saleKind: SaleKind,
page: number,
limit: number,
status: StatusType
- Return values
this hook returns Array of Order and loading as boolean
[
Order {
order: OrderData
orderHash?: string
referrer?: string
status?: StatusType
expirationTime?: number
signature?: string
metadata: {
attributes: Attributes[] | []
image?: string
background_color?: string
external_url?: string
animation_url?: string
youtube_url?: string
category?: string
name?: string
description?: string
address: string
tokenId: number
collectionName: string
makerAddress: string
price: number
}
bids?: Bids[] | []
}
],
loading:boolean
useOrdersOfCollection
- fetchOrdersForCollection
this hook takes
address: string,
saleKind: SaleKind
- Return values
this hook returns Array of Order and loading as boolean
[
Order {
order: OrderData
orderHash?: string
referrer?: string
status?: StatusType
expirationTime?: number
signature?: string
metadata: {
attributes: Attributes[] | []
image?: string
background_color?: string
external_url?: string
animation_url?: string
youtube_url?: string
category?: string
name?: string
description?: string
address: string
tokenId: number
collectionName: string
makerAddress: string
price: number
}
bids?: Bids[] | []
}
],
loading:boolean
useAllListedOrdersForAddress
this hooks takes
userAddress: string
- Return values
this hook returns Array of Order and loading as boolean
[
Order {
order: OrderData
orderHash?: string
referrer?: string
status?: StatusType
expirationTime?: number
signature?: string
metadata: {
attributes: Attributes[] | []
image?: string
background_color?: string
external_url?: string
animation_url?: string
youtube_url?: string
category?: string
name?: string
description?: string
address: string
tokenId: number
collectionName: string
makerAddress: string
price: number
}
bids?: Bids[] | []
}
],
loading:boolean
useOrderHistory
this hooks takes
orderData: OrderAsset,
page: number,
limit: number
- Return values
this hook returns Array of Order and loading as boolean
[
Order {
order: OrderData
orderHash?: string
referrer?: string
status?: StatusType
expirationTime?: number
signature?: string
metadata: {
attributes: Attributes[] | []
image?: string
background_color?: string
external_url?: string
animation_url?: string
youtube_url?: string
category?: string
name?: string
description?: string
address: string
tokenId: number
collectionName: string
makerAddress: string
price: number
}
bids?: Bids[] | []
}
],
loading:boolean
useSpecificOrders
- fetchSpecificOrders
this hook takes specificOrderData interface key is the collection address
number array is tokeIds
SpecificOrderData {
[key: string]: number[]
}
- Return values
this hook returns Array of Order and loading as boolean
[
Order {
order: OrderData
orderHash?: string
referrer?: string
status?: StatusType
expirationTime?: number
signature?: string
metadata: {
attributes: Attributes[] | []
image?: string
background_color?: string
external_url?: string
animation_url?: string
youtube_url?: string
category?: string
name?: string
description?: string
address: string
tokenId: number
collectionName: string
makerAddress: string
price: number
}
bids?: Bids[] | []
}
],
loading:boolean
Search hooks
useFilterMarketPlace
-filterMarketPlace
this hooks takes FilterMarketPlace interface
FilterMarketPlace {
address?: string
makerAddress?: string
name?: string
collectionName?: string
category?: string
minPrice?: number
maxPrice?: number
sortBy?: SortBy
}
SortBy = {
LATEST?: string
OLDEST?: string
PRICE_LOW_TO_HIGH?: string
PRICE_HIGH_TO_LOW?: string
}
- Return values
this hook returns Array of Order and loading as boolean
[
Order {
order: OrderData
orderHash?: string
referrer?: string
status?: StatusType
expirationTime?: number
signature?: string
metadata: {
attributes: Attributes[] | []
image?: string
background_color?: string
external_url?: string
animation_url?: string
youtube_url?: string
category?: string
name?: string
description?: string
address: string
tokenId: number
collectionName: string
makerAddress: string
price: number
}
bids?: Bids[] | []
}
],
loading:boolean
useSearchMarketPlace
this hooks takes
query: string
- Return values
this hook returns SearchMarketPlace and loading as boolean
SearchMarketPlace {
names: string[]
collectionNames: string[]
}