getModule

The getModule method is the most basic way to get the interact-able contract instance for a given module.

Import: imported as follows

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

Parameters: an object with the following properties

({
  // the name of the module
  name: ModuleName
} | {
  // manually passed module data
  moduleData: ModuleData
}) & {
    // the address of the deployed module
    address: `0x${string}`
    // the public client or provider to make RPC calls
    publicClient: PublicClient
    // the wallet client to sign and submit transactions
    walletClient?: WalletClient
    // The parser config, in charge of decimals, ...
    tagConfig?: TagConfig
    // The Inverter instance in charge of cache
    self?: Inverter
}

Returns: a Module object with the following properties

{
    // the name of the module
    name: ModuleName | ModuleData['name']
    // the address of the deployed module
    address: `0x${string}`
    // the type of the module (e.g. authorizer)
    moduleType: ModuleType
    // short description of the module taken from the contract NatSpec documentation
    description: string
    // the write method
    write: {
        [functionName: string]: {
            // name of the function
            name: string
            // description of what the function does taken from NatSpec
            description: string
            // inputs of the abi item
            inputs: ExtendedAbiParameter[]
            // outputs of the abi member
            outputs: ExtendedAbiParameter[]
            // an asynchronous function that whose parameters are of type Primitive<`inputs`> and return values are of type Primitive<`outputs`>
            run: (args: GetMethodArgs, options?: MethodOptions) => Promise<GetMethodResponse>
        }
    }
    estimateGas: // same as write ...
    simulate: // same as write ...
    read: // same as write ...
    bytecode: // same as write ...
}

Last updated