The restricted pim factory deployment is almost the same process as the default factory. The only difference being that the user has to pass factoryType: 'restricted-pim' approve their collateral tokens for the pim-factory and pass the extra parameters required by the factory.
Set Up the Deployment
import { Inverter, type RequestedModules, type GetUserArgs } from '@inverter-network/sdk'
const sdk = Inverter.getInstance({ publicClient, walletClient })
const requestedModules = {
fundingManager: 'FM_BC_Restricted_Bancor_Redeeming_VirtualSupply_v1',
authorizer: 'AUT_Roles_v1',
paymentProcessor: 'PP_Simple_v1',
} as const satisfies RequestedModules<'restricted-pim'>
const { run } = await sdk.getDeploy({
factoryType: 'restricted-pim',
requestedModules
})