The Registry serves as a public on-chain record of all contracts deployed via the DecentSDK and as a point of entry for the Decent Cross-Chain Indexer, which aggregates data across all of the EVM-compatible chains to which the DecentSDK has been deployed. The data is available to be consumed by other indexers, or utilized on-chain by other smart contracts.
Getting Started
Module Methods
Smart Contract Methods
To begin we'll import the DecentSDK, chain configurations, and the Registry module.
Then we'll setup our signer (via wagmi/ethers) and create a new instance of the DecentSDK.
// Import SDK, chain configurations, and the Registry module
import { DecentSDK, chain, registry } from "@decent.xyz/sdk";
// Get the signer via wagmi or configure using ethers
// Setup the SDK with the desired chain and signer
const sdk = new DecentSDK(chain.goerli, signer);
query
Query the registry for all deployments by a specified deployer account.
getContract
Get an ethers contract instance of the Registry contract.
Query the registry for all deployments by a specified deployer account.
const deployments = await registry.query(sdk, address);
sdk (SDK)
An instance of the DecentSDK, configured with a chain and signer.
address (string)
The address of the deployer account.
Get an ethers contract instance of the Registry contract.
const theRegistry = await registry.getContract(sdk);
sdk (SDK)
An instance of the DecentSDK, configured with a chain and signer.
register
Registers a contract with the Registry.
remove
Removes a contract from the Registry.
query
Query the registry for all deployments by a specified deployer account.
Registers a contract with the Registry.
const theRegistry = await registry.getContract(sdk);
await theRegistry.register(deployer, deployment, key);
_deployer (address)
The address of the deployer account.
_deployment (address)
The address of the deployed contract.
_key (string)
An identifier which is emitted but not stored, and may be used to reference different types of deployments.
Removes a contract from the Registry.
const theRegistry = await registry.getContract(sdk);
await theRegistry.remove(deployer, deployment);
_deployer (address)
The address of the deployer account.
_deployment (address)
The address of the deployed contract to remove.
Query the registry for all deployments by a specified deployer account.
const theRegistry = await registry.getContract(sdk);
await theRegistry.query(deployer);
address (string)
The address of the deployer account.