type ParsedSystemInstruction<TProgram> =
| {
instructionType: CreateAccount;
} & ParsedCreateAccountInstruction<TProgram>
| {
instructionType: Assign;
} & ParsedAssignInstruction<TProgram>
| {
instructionType: TransferSol;
} & ParsedTransferSolInstruction<TProgram>
| {
instructionType: CreateAccountWithSeed;
} & ParsedCreateAccountWithSeedInstruction<TProgram>
| {
instructionType: AdvanceNonceAccount;
} & ParsedAdvanceNonceAccountInstruction<TProgram>
| {
instructionType: WithdrawNonceAccount;
} & ParsedWithdrawNonceAccountInstruction<TProgram>
| {
instructionType: InitializeNonceAccount;
} & ParsedInitializeNonceAccountInstruction<TProgram>
| {
instructionType: AuthorizeNonceAccount;
} & ParsedAuthorizeNonceAccountInstruction<TProgram>
| {
instructionType: Allocate;
} & ParsedAllocateInstruction<TProgram>
| {
instructionType: AllocateWithSeed;
} & ParsedAllocateWithSeedInstruction<TProgram>
| {
instructionType: AssignWithSeed;
} & ParsedAssignWithSeedInstruction<TProgram>
| {
instructionType: TransferSolWithSeed;
} & ParsedTransferSolWithSeedInstruction<TProgram>
| {
instructionType: UpgradeNonceAccount;
} & ParsedUpgradeNonceAccountInstruction<TProgram>;