Using services provided by the SDK to list, buy, and manage tokens
The SDK provides a set of services that you can use to list and buy tokens or modify and cancel a listing. In the following section, we will look into the services provided by the SDK.
For performing list token, buy token, modify listing, or cancel listing services on the marketplace using the SDK, you will need to create an instance of MarketplaceClient
class provided by the SDK. Here is an example of creating a new instance of MarketplaceClient
class using the SDK::
import { MarketplaceClient, Networks } from '@lyncworld/fuel-marketplace';
const marketplaceClient = new MarketplaceClient(
Networks.Testnet,
wallet // Wallet of the user who is performing the action
);
After creating an instance of MarketplaceClient
class, you can utilize various services provided by the MarketplaceClient
class. Here is the complete list of the services and an example function for performing listing a token, buying a token, modifying a listing, and canceling a listing:
Listing a token on the marketplace
You can call the useListTokenService
function provided by the MarketplaceClient
class followed by the setProperties
and execute
methods to list a token on the marketplace. Here is an example call of how you can list a token on the marketplace:
const response = await marketplaceClient
.useListTokenService()
.setProperties(
'0x...', // asset id of the token to be listed
'0x...', // contract address of the token to be listed
'0x...', // token id (or sub id) of the token to be listed
0.0002, // price per item of the token to be listed
4, // quantity of the token to be listed (always 1 for NFT)
'SEMI_FT' // token standard of the token to be listed (choose from NFT or SEMI_FT)
)
.execute();
if (response.success) {
alert('Token listed successfully.');
console.log('Transaction data: ', response.data);
} else {
alert('Error listing token.');
console.error('Error listing token: ', { error: response.error });
}
Buying a listed token on the marketplace
You can call the useBuyTokenService
function provided by the MarketplaceClient
class followed by the setProperties
and execute
methods to buy a token on the marketplace. Here is an example call of how you can buy a token on the marketplace:
const response = await marketplaceClient
.useBuyTokenService()
.setProperties(
'0x...', // listing id of the token to be bought
2, // quantity of the token to be bought (always 1 for NFT)
0.0002 // price per item of the token to be bought
)
.execute();
if (response.success) {
alert('Token bought successfully.');
console.log('Transaction data: ', response.data);
} else {
alert('Error buying token.');
console.error('Error buying token: ', { error: response.error });
}
Modify a listing on the marketplace
You can call the useModifyListingService
function provided by the MarketplaceClient
class followed by the setProperties
and execute
methods to modify an already listed token on the marketplace. Here is an example call of how you can modify a listing on the marketplace:
const response = await marketplaceClient
.useModifyListingService()
.setProperties(
'0x...', // listing id of the token to be modified
0.0001 // new price per item of the listed token to be modified
2, // number of tokens to be added or removed from the listing (always 0 for NFT)
"0x..." // asset id of the token to be modified (only required for SFT - send undefined for NFT)
)
.execute();
if (response.success) {
alert('Listing modified successfully.');
console.log('Transaction data: ', response.data);
} else {
alert('Error modifying listing.');
console.error('Error modifying listing: ', { error: response.error });
}
Cancel a listing on the marketplace
You can call the useCancelListingService
function provided by the MarketplaceClient
class followed by the setProperties
and execute
methods to cancel an already listed token on the marketplace. Here is an example call of how you can cancel a listing on the marketplace:
const response = await marketplaceClient
.useCancelListingService()
.setProperties(
'0x...' // listing id of the token to be canceled
)
.execute();
if (response.success) {
alert('Listing cancelled successfully.');
console.log('Transaction data: ', response.data);
} else {
alert('Error canceling listing.');
console.error('Error canceling listing: ', { error: response.error });
}
Last updated