TransactionError

type TransactionError = 
  | "AccountBorrowOutstanding"
  | "AccountInUse"
  | "AccountLoadedTwice"
  | "AccountNotFound"
  | "AddressLookupTableNotFound"
  | "AlreadyProcessed"
  | "BlockhashNotFound"
  | "CallChainTooDeep"
  | "ClusterMaintenance"
  | "InsufficientFundsForFee"
  | "InvalidAccountForFee"
  | "InvalidAccountIndex"
  | "InvalidAddressLookupTableData"
  | "InvalidAddressLookupTableIndex"
  | "InvalidAddressLookupTableOwner"
  | "InvalidLoadedAccountsDataSizeLimit"
  | "InvalidProgramForExecution"
  | "InvalidRentPayingAccount"
  | "InvalidWritableAccount"
  | "MaxLoadedAccountsDataSizeExceeded"
  | "MissingSignatureForFee"
  | "ProgramAccountNotFound"
  | "ResanitizationNeeded"
  | "SanitizeFailure"
  | "SignatureFailure"
  | "TooManyAccountLocks"
  | "UnbalancedTransaction"
  | "UnsupportedVersion"
  | "WouldExceedAccountDataBlockLimit"
  | "WouldExceedAccountDataTotalLimit"
  | "WouldExceedMaxAccountCostLimit"
  | "WouldExceedMaxBlockCostLimit"
  | "WouldExceedMaxVoteCostLimit"
  | {
  DuplicateInstruction: InstructionIndex;
}
  | {
  InstructionError: [InstructionIndex, InstructionError];
}
  | {
  InsufficientFundsForRent: {
     account_index: AccountIndex;
  };
}
  | {
  ProgramExecutionTemporarilyRestricted: {
     account_index: AccountIndex;
  };
};