# getSimulatedWorkflow

The `getSimulatedWorkflow` method is used to simulate a non-existing workflow.

**Import**: imported as follows

```typescript
import { getSimulatedWorkflow } from '@inverter-network/sdk'
```

**Parameters**: expects the following parameters

{% code overflow="wrap" %}

```ts
{
    // the public client / provider to make RPC calls
    publicClient: PublicClient,
    // the wallet client to sign and submit transactions
    walletClient: WalletClient,
    // The modules which will be deployed
    requestedModules: MixedRequestedModules,
    // The parser config, in charge of decimals, ...
    tagConfig?: TagConfig
    // If there is a token deployment included the bytecode object
    tokenBytecode?: TokenBytecode
}
```

{% endcode %}

**Returns**: an object with the following properties

{% code overflow="wrap" %}

```ts
{
  // Address of the simulated orchestrator
  orchestratorAddress: `0x${string}`
  // Address of the simulated authorizer
  authorizerAddress: `0x${string}`
  // Address of the simulated funding manager
  fundingManagerAddress: `0x${string}`
  // Address of the simulated payment proccessor
  paymentProcessorAddress: `0x${string}`
  // Addresses of the simulated logic modules
  logicModuleAddresses: `0x${string}`[]
  // Bytecode which can be used to deploy the simulated workflow
  bytecode: `0x${string}`
  // The address of the trusted forwarder for said chain
  trustedForwarderAddress: `0x${string}`
  // The address of the inverter factory
  factoryAddress: `0x${string}`
}
```

{% endcode %}
