Appearance
Props Diamond SDK • Docs
Manages diamonds and platforms in the Props ecosystem.
PropsDiamondSDK
Constructors
new PropsDiamondSDK()
new PropsDiamondSDK(
options):PropsDiamondSDK
Creates an instance of PropsDiamondSDK.
Parameters
• options: PropsDiamondSDKConfigurationOptions
The configuration options for PropsDiamondSDK.
Returns
Example
typescript
import { ethers } from "ethers";
import { PropsDiamondSDK } from "@props-labs/diamond-sdk";
const signer = new ethers.Wallet("YOUR_PRIVATE_KEY", ethers.getDefaultProvider());
const propsDiamondSDKClient = new PropsDiamondSDK({
signer: signer,
networkConfiguration: {
provider: ethers.getDefaultProvider(),
},
platformConfiguration: {
platform: {
propsDiamondFactory: "FACTORY_ADDRESS",
facetCatalog: "FACET_CATALOG_ADDRESS",
},
},
});Properties
diamondConfiguration
diamondConfiguration:
undefined|PropsDiamondManagerConfigurationOptions
Configuration for the diamond manager.
diamondManager
diamondManager:
DiamondManager
Manager for diamond-related operations.
networkConfiguration
networkConfiguration:
undefined|PropsNetworkConfiguration
Network configuration for the SDK.
platformConfiguration
platformConfiguration:
undefined|PropsDiamondPlatformManagerConfigurationOptions
Configuration for the platform manager.
platformManager
platformManager:
PlatformManager
Manager for platform-related operations.
signer
signer:
undefined|Signer
The signer used for transactions.
Methods
setDiamondConfiguration()
setDiamondConfiguration(
propsDiamondManagerConfigurationOptions):void
Sets the diamond configuration.
Parameters
• propsDiamondManagerConfigurationOptions: PropsDiamondManagerConfigurationOptions
The new diamond configuration options.
Returns
void
Example
typescript
const facets = await propsDiamondSDKClient.platformManager.catalogManager.getFacetCatalogFacetsByNames(
["DiamondLoupeFacet", "PropsERC1155"]
);
const diamondCuts = await propsDiamondSDKClient.diamondManager.createDiamondCuts(
FacetCutAction.Add,
facets,
[],
[]
);
await propsDiamondSDKClient.diamondManager.deployDiamondCloneWithCuts(
diamondCuts,
[
await propsDiamondSDKClient.diamondManager.createFacetInit(
"PropsERC1155",
"init",
["NAME", "SYMBOL", "DESCRIPTION", "ipfs://baseuricid/", "ipfs://contracturicid"]
)
]
);
propsDiamondSDKClient.setDiamondConfiguration({
diamondAddress: "DEPLOYED_DIAMOND_ADDRESS",
});setPlatformConfiguration()
setPlatformConfiguration(
propsDiamondPlatformManagerConfigurationOptions):void
Sets the platform configuration.
Parameters
• propsDiamondPlatformManagerConfigurationOptions: PropsDiamondPlatformManagerConfigurationOptions
The new platform configuration options.
Returns
void
Example
typescript
propsDiamondSDKClient.setPlatformConfiguration({
platform: {
propsDiamondFactory: "NEW_FACTORY_ADDRESS",
facetCatalog: "NEW_FACET_CATALOG_ADDRESS",
},
});toJSON()
toJSON():
Object
Converts the SDK instance to a JSON-serializable object.
Returns
Object
A JSON representation of the SDK instance.
Example
typescript
const jsonRepresentation = propsDiamondSDKClient.toJSON();
console.log(JSON.stringify(jsonRepresentation, null, 2));
// Output will include diamondConfiguration, platformConfiguration,
// diamondManager, and platformManager properties