Marketplace
The Marketplace class represents the main interaction point with the Marketplace smart contract. It provides methods to create, update, and manage offers and deals, as well as to interact with provider information and marketplace initialization.
Class: Marketplace
The Marketplace class allows developers to interact with the Marketplace contract on the blockchain, offering methods to perform various operations such as creating offers, managing deals, and retrieving provider metadata.
Constructor
The constructor initializes an instance of the Marketplace class.
Parameters
sdkInstance:SdkAn instance of the SDK containing configuration details for interacting with the blockchain.
Throws
- An error if the Marketplace address is not found for the current network ID.
Usage
const marketplace = new Marketplace(sdkInstance);
Attributes
config: SdkConfig
Contains the configuration for the SDK, including walletClient and publicClient.
Methods
view
Calls a read-only function on the Marketplace contract.
-
Parameters:
-
functionName:stringThe name of the contract function to call. -
args:any[]The arguments to pass to the contract function. -
Returns:
Promise<any>The result of the contract function. -
Throws: Will throw an error if the contract read operation fails.
execute
Executes a state-changing function on the Marketplace contract.
-
Parameters:
-
functionName:stringThe name of the contract function to execute. -
args:any[]The arguments to pass to the contract function. -
Returns:
Promise<any>The transaction receipt. -
Throws: Will throw an error if the contract execution fails.
createOffer
Creates a new offer on the marketplace.
-
Parameters:
-
params:CreateOfferParamsThe parameters required to create an offer. -
Returns:
Promise<any>The transaction receipt.
updateOffer
Updates an existing offer on the marketplace.
-
Parameters:
-
params:UpdateOfferParamsThe parameters required to update an offer. -
Returns:
Promise<any>The transaction receipt.
deleteOffer
Deletes an offer from the marketplace.
-
Parameters:
-
params:DeleteOfferParamsThe parameters required to delete an offer. -
Returns:
Promise<any>The transaction receipt.
createDeal
Creates a new deal on the marketplace.
-
Parameters:
-
params:CreateDealParamsThe parameters required to create a deal. -
Returns:
Promise<any>The transaction receipt.
createDeals
Creates multiple deals on the marketplace.
-
Parameters:
-
params:CreateDealsParamsThe parameters required to create multiple deals. -
Returns:
Promise<any>The transaction receipt.
acceptDeal
Accepts a deal on the marketplace.
-
Parameters:
-
params:DealOperationParamsThe parameters required to accept a deal. -
Returns:
Promise<any>The transaction receipt.
rejectDeal
Rejects a deal on the marketplace.
-
Parameters:
-
params:DealOperationParamsThe parameters required to reject a deal. -
Returns:
Promise<any>The transaction receipt.
cancelDeal
Cancels a deal on the marketplace.
-
Parameters:
-
params:DealOperationParamsThe parameters required to cancel a deal. -
Returns:
Promise<any>The transaction receipt.
cancelAllDeals
Cancels all deals for a given resource on the marketplace.
-
Parameters:
-
params:CancelDealsParamsThe parameters required to cancel all deals. -
Returns:
Promise<any>The transaction receipt.
getDealById
Retrieves a deal by its ID from the marketplace.
-
Parameters:
-
params:DealOperationParamsThe parameters required to get a deal. -
Returns:
Promise<Deal | null>The deal information or null if not found.
getOfferById
Retrieves an offer by its ID from the marketplace.
-
Parameters:
-
params:OfferOperationParamsThe parameters required to get an offer. -
Returns:
Promise<Offer | null>The offer information.
getProvider
Retrieves provider metadata from the marketplace.
-
Parameters:
-
params:ProviderOperationParamsThe parameters required to get the provider. -
Returns:
Promise<ProviderMetadata>The provider metadata.
getDealDetails
Static method to calculate deal details based on the provided deal data.
-
Parameters:
-
deal:anyThe deal object containing necessary deal data. -
Returns: An object containing the calculated details of the deal, such as elapsed time, total time, remaining time, remaining balance, pending payment, calculated end, and a formatted end date.