Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace Resources

Namespace that represents the kinds of entities managed by @truffle/db

A number of the types defined by this namespace are useful when working with @truffle/db programmatically in TypeScript projects. In particular, see Resource, Input, and IdObject.

example

Using helper types to save and retrieve a source:

import gql from "graphql-tag";
import { connect, Process, Resources } from "@truffle/db";

const db = connect({
  // ...
});

const { run } = Process.Run.forDb(db);

const [ { id } ]: Resources.IdObject<"sources">[] = await run(
  Process.resources.load,
  "sources",
  [{ contents: "pragma solidity ..." }]
);

const { contents }: Resources.Resource<"sources"> = await run(
  Process.resources.get,
  "sources",
  id,
  gql`fragment Contents on Source { contents }`
);

See also connect, Process.Run.forDb, and Process.resources.

Index

Primary

CollectionName

CollectionName: CollectionName<Collections>

bytecodes, contracts, etc.

IdObject

IdObject<N>: IdObject<Collections, N>

Common reference type for resources in the system

This exists for type safety purposes. Typically, do not define variables of this type directly; use toIdObject on existing resources.

example
import { Resources } from "@truffle/db";

declare const source: Resources.Resource<"sources">;

const { id }: Resources.IdObject<"sources"> = Resources.toIdObject(source);

Type parameters

Input

Input<N>: Input<Collections, N>

Input type for a given collection name

example
import { Resources } from "@truffle/db";

const sourceInput: Resources.Input<"sources"> = {
  contents: "echo \"hello world\""
}

Type parameters

MutableCollectionName

MutableCollectionName: MutableCollectionName<Collections>

Type akin to CollectionName but only includes mutable collections

NamedCollectionName

NamedCollectionName: NamedCollectionName<Collections>

Type akin to CollectionName but only includes named collections

Resource

Resource<N>: Resource<Collections, N>

Resource type for a given collection name

example
import { Resources } from "@truffle/db";

const source: Resources.Resource<"sources"> = {
  id: "0x...",
  contents: "echo \"hello world\""
}

Type parameters

Const toIdObject

Other

DataModel

Re-exports DataModel

Db

Re-exports Db

IdFields

IdFields<N>: IdFields<Collections, N>

Type parameters

SavedInput

SavedInput<N>: SavedInput<Collections, N>

Type parameters

Internal

Collections

Collections: { bytecodes: { idFields: ["bytes", "linkReferences"]; input: BytecodeInput; names: { Resource: "Bytecode"; Resources: "Bytecodes"; ResourcesMutate: "BytecodesAdd"; resource: "bytecode"; resources: "bytecodes"; resourcesMutate: "bytecodesAdd" }; resource: Bytecode }; compilations: { idFields: ["compiler", "sources"]; input: CompilationInput; names: { Resource: "Compilation"; Resources: "Compilations"; ResourcesMutate: "CompilationsAdd"; resource: "compilation"; resources: "compilations"; resourcesMutate: "compilationsAdd" }; resource: Compilation }; contractInstances: { idFields: ["contract", "address", "creation"]; input: ContractInstanceInput; names: { Resource: "ContractInstance"; Resources: "ContractInstances"; ResourcesMutate: "ContractInstancesAdd"; resource: "contractInstance"; resources: "contractInstances"; resourcesMutate: "contractInstancesAdd" }; resource: ContractInstance }; contracts: { idFields: ["name", "abi", "processedSource", "compilation"]; input: ContractInput; named: true; names: { Resource: "Contract"; Resources: "Contracts"; ResourcesMutate: "ContractsAdd"; resource: "contract"; resources: "contracts"; resourcesMutate: "contractsAdd" }; resource: Contract }; nameRecords: { idFields: ["resource", "previous"]; input: NameRecordInput; names: { Resource: "NameRecord"; Resources: "NameRecords"; ResourcesMutate: "NameRecordsAdd"; resource: "nameRecord"; resources: "nameRecords"; resourcesMutate: "nameRecordsAdd" }; resource: NameRecord }; networkGenealogies: { idFields: ["ancestor", "descendant"]; input: NetworkGenealogyInput; names: { Resource: "NetworkGenealogy"; Resources: "NetworkGenealogies"; ResourcesMutate: "NetworkGenealogiesAdd"; resource: "networkGenealogy"; resources: "networkGenealogies"; resourcesMutate: "networkGenealogiesAdd" }; resource: NetworkGenealogy }; networks: { idFields: ["networkId", "historicBlock"]; input: NetworkInput; named: true; names: { Resource: "Network"; Resources: "Networks"; ResourcesMutate: "NetworksAdd"; resource: "network"; resources: "networks"; resourcesMutate: "networksAdd" }; resource: Network }; projectNames: { idFields: ["project", "key"]; input: ProjectNameInput; mutable: true; names: { Resource: "ProjectName"; Resources: "ProjectNames"; ResourcesMutate: "ProjectNamesAssign"; resource: "projectName"; resources: "projectNames"; resourcesMutate: "projectNamesAssign" }; resource: ProjectName }; projects: { idFields: ["directory"]; input: ProjectInput; names: { Resource: "Project"; Resources: "Projects"; ResourcesMutate: "ProjectsAdd"; resource: "project"; resources: "projects"; resourcesMutate: "projectsAdd" }; resource: Project }; sources: { idFields: ["contents", "sourcePath"]; input: SourceInput; names: { Resource: "Source"; Resources: "Sources"; ResourcesMutate: "SourcesAdd"; resource: "source"; resources: "sources"; resourcesMutate: "sourcesAdd" }; resource: Source } }

Type declaration

  • bytecodes: { idFields: ["bytes", "linkReferences"]; input: BytecodeInput; names: { Resource: "Bytecode"; Resources: "Bytecodes"; ResourcesMutate: "BytecodesAdd"; resource: "bytecode"; resources: "bytecodes"; resourcesMutate: "bytecodesAdd" }; resource: Bytecode }
    • idFields: ["bytes", "linkReferences"]
    • input: BytecodeInput
    • names: { Resource: "Bytecode"; Resources: "Bytecodes"; ResourcesMutate: "BytecodesAdd"; resource: "bytecode"; resources: "bytecodes"; resourcesMutate: "bytecodesAdd" }
      • Resource: "Bytecode"
      • Resources: "Bytecodes"
      • ResourcesMutate: "BytecodesAdd"
      • resource: "bytecode"
      • resources: "bytecodes"
      • resourcesMutate: "bytecodesAdd"
    • resource: Bytecode
  • compilations: { idFields: ["compiler", "sources"]; input: CompilationInput; names: { Resource: "Compilation"; Resources: "Compilations"; ResourcesMutate: "CompilationsAdd"; resource: "compilation"; resources: "compilations"; resourcesMutate: "compilationsAdd" }; resource: Compilation }
    • idFields: ["compiler", "sources"]
    • input: CompilationInput
    • names: { Resource: "Compilation"; Resources: "Compilations"; ResourcesMutate: "CompilationsAdd"; resource: "compilation"; resources: "compilations"; resourcesMutate: "compilationsAdd" }
      • Resource: "Compilation"
      • Resources: "Compilations"
      • ResourcesMutate: "CompilationsAdd"
      • resource: "compilation"
      • resources: "compilations"
      • resourcesMutate: "compilationsAdd"
    • resource: Compilation
  • contractInstances: { idFields: ["contract", "address", "creation"]; input: ContractInstanceInput; names: { Resource: "ContractInstance"; Resources: "ContractInstances"; ResourcesMutate: "ContractInstancesAdd"; resource: "contractInstance"; resources: "contractInstances"; resourcesMutate: "contractInstancesAdd" }; resource: ContractInstance }
    • idFields: ["contract", "address", "creation"]
    • input: ContractInstanceInput
    • names: { Resource: "ContractInstance"; Resources: "ContractInstances"; ResourcesMutate: "ContractInstancesAdd"; resource: "contractInstance"; resources: "contractInstances"; resourcesMutate: "contractInstancesAdd" }
      • Resource: "ContractInstance"
      • Resources: "ContractInstances"
      • ResourcesMutate: "ContractInstancesAdd"
      • resource: "contractInstance"
      • resources: "contractInstances"
      • resourcesMutate: "contractInstancesAdd"
    • resource: ContractInstance
  • contracts: { idFields: ["name", "abi", "processedSource", "compilation"]; input: ContractInput; named: true; names: { Resource: "Contract"; Resources: "Contracts"; ResourcesMutate: "ContractsAdd"; resource: "contract"; resources: "contracts"; resourcesMutate: "contractsAdd" }; resource: Contract }
    • idFields: ["name", "abi", "processedSource", "compilation"]
    • input: ContractInput
    • named: true
    • names: { Resource: "Contract"; Resources: "Contracts"; ResourcesMutate: "ContractsAdd"; resource: "contract"; resources: "contracts"; resourcesMutate: "contractsAdd" }
      • Resource: "Contract"
      • Resources: "Contracts"
      • ResourcesMutate: "ContractsAdd"
      • resource: "contract"
      • resources: "contracts"
      • resourcesMutate: "contractsAdd"
    • resource: Contract
  • nameRecords: { idFields: ["resource", "previous"]; input: NameRecordInput; names: { Resource: "NameRecord"; Resources: "NameRecords"; ResourcesMutate: "NameRecordsAdd"; resource: "nameRecord"; resources: "nameRecords"; resourcesMutate: "nameRecordsAdd" }; resource: NameRecord }
    • idFields: ["resource", "previous"]
    • input: NameRecordInput
    • names: { Resource: "NameRecord"; Resources: "NameRecords"; ResourcesMutate: "NameRecordsAdd"; resource: "nameRecord"; resources: "nameRecords"; resourcesMutate: "nameRecordsAdd" }
      • Resource: "NameRecord"
      • Resources: "NameRecords"
      • ResourcesMutate: "NameRecordsAdd"
      • resource: "nameRecord"
      • resources: "nameRecords"
      • resourcesMutate: "nameRecordsAdd"
    • resource: NameRecord
  • networkGenealogies: { idFields: ["ancestor", "descendant"]; input: NetworkGenealogyInput; names: { Resource: "NetworkGenealogy"; Resources: "NetworkGenealogies"; ResourcesMutate: "NetworkGenealogiesAdd"; resource: "networkGenealogy"; resources: "networkGenealogies"; resourcesMutate: "networkGenealogiesAdd" }; resource: NetworkGenealogy }
    • idFields: ["ancestor", "descendant"]
    • input: NetworkGenealogyInput
    • names: { Resource: "NetworkGenealogy"; Resources: "NetworkGenealogies"; ResourcesMutate: "NetworkGenealogiesAdd"; resource: "networkGenealogy"; resources: "networkGenealogies"; resourcesMutate: "networkGenealogiesAdd" }
      • Resource: "NetworkGenealogy"
      • Resources: "NetworkGenealogies"
      • ResourcesMutate: "NetworkGenealogiesAdd"
      • resource: "networkGenealogy"
      • resources: "networkGenealogies"
      • resourcesMutate: "networkGenealogiesAdd"
    • resource: NetworkGenealogy
  • networks: { idFields: ["networkId", "historicBlock"]; input: NetworkInput; named: true; names: { Resource: "Network"; Resources: "Networks"; ResourcesMutate: "NetworksAdd"; resource: "network"; resources: "networks"; resourcesMutate: "networksAdd" }; resource: Network }
    • idFields: ["networkId", "historicBlock"]
    • input: NetworkInput
    • named: true
    • names: { Resource: "Network"; Resources: "Networks"; ResourcesMutate: "NetworksAdd"; resource: "network"; resources: "networks"; resourcesMutate: "networksAdd" }
      • Resource: "Network"
      • Resources: "Networks"
      • ResourcesMutate: "NetworksAdd"
      • resource: "network"
      • resources: "networks"
      • resourcesMutate: "networksAdd"
    • resource: Network
  • projectNames: { idFields: ["project", "key"]; input: ProjectNameInput; mutable: true; names: { Resource: "ProjectName"; Resources: "ProjectNames"; ResourcesMutate: "ProjectNamesAssign"; resource: "projectName"; resources: "projectNames"; resourcesMutate: "projectNamesAssign" }; resource: ProjectName }
    • idFields: ["project", "key"]
    • input: ProjectNameInput
    • mutable: true
    • names: { Resource: "ProjectName"; Resources: "ProjectNames"; ResourcesMutate: "ProjectNamesAssign"; resource: "projectName"; resources: "projectNames"; resourcesMutate: "projectNamesAssign" }
      • Resource: "ProjectName"
      • Resources: "ProjectNames"
      • ResourcesMutate: "ProjectNamesAssign"
      • resource: "projectName"
      • resources: "projectNames"
      • resourcesMutate: "projectNamesAssign"
    • resource: ProjectName
  • projects: { idFields: ["directory"]; input: ProjectInput; names: { Resource: "Project"; Resources: "Projects"; ResourcesMutate: "ProjectsAdd"; resource: "project"; resources: "projects"; resourcesMutate: "projectsAdd" }; resource: Project }
    • idFields: ["directory"]
    • input: ProjectInput
    • names: { Resource: "Project"; Resources: "Projects"; ResourcesMutate: "ProjectsAdd"; resource: "project"; resources: "projects"; resourcesMutate: "projectsAdd" }
      • Resource: "Project"
      • Resources: "Projects"
      • ResourcesMutate: "ProjectsAdd"
      • resource: "project"
      • resources: "projects"
      • resourcesMutate: "projectsAdd"
    • resource: Project
  • sources: { idFields: ["contents", "sourcePath"]; input: SourceInput; names: { Resource: "Source"; Resources: "Sources"; ResourcesMutate: "SourcesAdd"; resource: "source"; resources: "sources"; resourcesMutate: "sourcesAdd" }; resource: Source }
    • idFields: ["contents", "sourcePath"]
    • input: SourceInput
    • names: { Resource: "Source"; Resources: "Sources"; ResourcesMutate: "SourcesAdd"; resource: "source"; resources: "sources"; resourcesMutate: "sourcesAdd" }
      • Resource: "Source"
      • Resources: "Sources"
      • ResourcesMutate: "SourcesAdd"
      • resource: "source"
      • resources: "sources"
      • resourcesMutate: "sourcesAdd"
    • resource: Source

Definition

Definition<N>: Definitions[N]

Type parameters

Definitions

Definitions: Definitions<Collections>

Workspace

Const definitions

definitions: Definitions = ...

Generated using TypeDoc