Vana SDK - v3.5.0
    Preparing search index...

    Class ContractFactory

    Provides type-safe contract factory for creating multiple contract instances.

    Alternative API for applications that need to create multiple contracts with the same client. The factory pattern reduces boilerplate and ensures consistent client configuration across contracts.

    const factory = new ContractFactory(client);

    const dataRegistry = factory.create("DataRegistry" as const);
    const permissions = factory.create("DataPortabilityPermissions" as const);

    // List available contracts
    const contracts = factory.getAvailableContracts();
    Index

    Methods

    • Creates a typed contract instance

      Type Parameters

      • T extends
            | "DataPortabilityPermissions"
            | "DataPortabilityServers"
            | "DataPortabilityGrantees"
            | "DataRegistry"
            | "TeePoolPhala"
            | "ComputeEngine"
            | "DataRefinerRegistry"
            | "QueryEngine"
            | "ComputeInstructionRegistry"
            | "TeePoolEphemeralStandard"
            | "TeePoolPersistentStandard"
            | "TeePoolPersistentGpu"
            | "TeePoolDedicatedStandard"
            | "TeePoolDedicatedGpu"
            | "VanaEpoch"
            | "DLPRegistry"
            | "DLPRegistryTreasury"
            | "DLPRegistryTreasuryImplementation"
            | "VanaTreasury"
            | "VanaPoolStaking"
            | "VanaPoolEntity"
            | "VanaPoolTreasury"
            | "DAT"
            | "DATFactory"
            | "DATPausable"
            | "DATVotes"

      Parameters

      • contract: T

        Contract name (use const assertion for full typing)

      Returns {}

      Fully typed contract instance

    • Gets contract information without creating an instance

      Type Parameters

      • T extends
            | "DataPortabilityPermissions"
            | "DataPortabilityServers"
            | "DataPortabilityGrantees"
            | "DataRegistry"
            | "TeePoolPhala"
            | "ComputeEngine"
            | "DataRefinerRegistry"
            | "QueryEngine"
            | "ComputeInstructionRegistry"
            | "TeePoolEphemeralStandard"
            | "TeePoolPersistentStandard"
            | "TeePoolPersistentGpu"
            | "TeePoolDedicatedStandard"
            | "TeePoolDedicatedGpu"
            | "VanaEpoch"
            | "DLPRegistry"
            | "DLPRegistryTreasury"
            | "DLPRegistryTreasuryImplementation"
            | "VanaTreasury"
            | "VanaPoolStaking"
            | "VanaPoolEntity"
            | "VanaPoolTreasury"
            | "DAT"
            | "DATFactory"
            | "DATPausable"
            | "DATVotes"

      Parameters

      • contract: T

        Contract name

      Returns ContractInfo<{}[T]>

      Contract information with typed ABI

    • Lists all available contracts for the current chain

      Returns (
          | "DataPortabilityPermissions"
          | "DataPortabilityServers"
          | "DataPortabilityGrantees"
          | "DataRegistry"
          | "TeePoolPhala"
          | "ComputeEngine"
          | "DataRefinerRegistry"
          | "QueryEngine"
          | "ComputeInstructionRegistry"
          | "TeePoolEphemeralStandard"
          | "TeePoolPersistentStandard"
          | "TeePoolPersistentGpu"
          | "TeePoolDedicatedStandard"
          | "TeePoolDedicatedGpu"
          | "VanaEpoch"
          | "DLPRegistry"
          | "DLPRegistryTreasury"
          | "DLPRegistryTreasuryImplementation"
          | "VanaTreasury"
          | "VanaPoolStaking"
          | "VanaPoolEntity"
          | "VanaPoolTreasury"
          | "DAT"
          | "DATFactory"
          | "DATPausable"
          | "DATVotes"
      )[]

      Array of contract names available on this chain