getWorkflow

The getWorkflow method is the standard way of getting a whole workflow with instances of all associated modules.

Import: imported as follows

import { getWorkflow } from '@inverter-network/sdk'

Parameters: an object with the following properties

{
    // the public client / provider to make RPC calls
    publicClient: PublicClient
    // the wallet client to sign and submit transactions
    walletClient?: WalletClient
    // the address of a deployed orchestrator proxy contract
    orchestratorAddress: 0x${string}
    // includes a specification of the modules used by the workflow. That is which Authorizer, Funding Manager, Payment Processor and optional logic modules are used.
    requestedModules?: MixedRequestedModules
    // name of the issuance token - strongly types the return
    issuanceTokenType?: WorkflowIssuanceToken
    // name of the funding token - strongly types the return
    fundingTokenType?: WorkflowToken
}

Note: passing a requestedModules will ensure typesafety and type completion.

Returns: on object with the following properties

// each ModuleName corresponds to the name of a module (e.g. FM_DepositVault_v1) 
// and each Module is a module instance as described in the previous section
{
    orchestrator: GetModuleReturnType
    fundingManager: GetModuleReturnType
    authorizer: GetModuleReturnType
    paymentProcessor: GetModuleReturnType
    optionalModule: {
        [name: ModuleName]: GetModuleReturnType
    }
    fundingToken: {
        address: `0x${string}`
        module: GetModuleReturnType
        decimals: number
        symbol: string
    }
    // issuance token is conditional based on modules which use issuance logic
    issuanceToken: {
        address: `0x${string}`
        module: GetModuleReturnType
        decimals: number
        symbol: string
    }
}

Last updated